Add Helm Plugin maven build 47/59747/1
authorHong Guan <hg4105@att.com>
Wed, 8 Aug 2018 21:50:28 +0000 (17:50 -0400)
committerHong Guan <hg4105@att.com>
Wed, 8 Aug 2018 21:51:14 +0000 (17:51 -0400)
Change-Id: I111db7511658bfff73e85cf9efed69e1a4e44713
Issue-ID: CCSDK-392
Signed-off-by: Hong Guan <hg4105@att.com>
helm/helm-type.yaml
helm/plugin/tests/test_plugin.py
helm/pom.xml [new file with mode: 0644]
helm/setup.py
helm/tox.ini
pom.xml

index 6645620..c8d329c 100644 (file)
@@ -18,8 +18,8 @@
 plugins:
   helm-plugin:
     executor: central_deployment_agent
-    package_name: onap-helm-plugin
-    package_version: 2.3.0
+    package_name: helm
+    package_version: 2.3.1
 
 node_types:
 
index 1b90aa0..864843f 100644 (file)
@@ -34,8 +34,9 @@ class TestPlugin(unittest.TestCase):
                    resources_to_copy=[(path.join('blueprint', 'plugin',
                                                  'test_plugin.yaml'),
                                        'plugin')])
+    @mock.patch('plugin.tasks.os.remove')
     @mock.patch('plugin.tasks.execute_command')
-    def test_stop(self, cfy_local, mock_execute_command):
+    def test_stop(self, cfy_local, mock_execute_command, mock_os_remove):
         # execute install workflow
         """
 
diff --git a/helm/pom.xml b/helm/pom.xml
new file mode 100644 (file)
index 0000000..02f1860
--- /dev/null
@@ -0,0 +1,318 @@
+<?xml version="1.0"?>
+<!--
+============LICENSE_START=======================================================
+org.onap.ccsdk
+================================================================================
+Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+================================================================================
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.ccsdk.platform</groupId>
+    <artifactId>plugins</artifactId>
+    <version>1.0.1-SNAPSHOT</version>
+  </parent>
+
+  <!--- CHANGE THE FOLLOWING 3 OBJECTS for your own repo -->
+  <groupId>org.onap.ccsdk.platform.plugins</groupId>
+  <artifactId>helm</artifactId>
+  <name>helm</name>
+
+  <version>1.0.1-SNAPSHOT</version>
+  <url>http://maven.apache.org</url>
+  <properties>
+    <!-- name from the setup.py file -->
+    <plugin.name>helm</plugin.name>
+    <!-- path to directory containing the setup.py relative to this file -->
+    <plugin.subdir>.</plugin.subdir>
+    <!-- path of types file itself relative to this file -->
+    <typefile.source>helm_types.yaml</typefile.source>
+    <!-- path, in repo, to store type file -->
+    <typefile.dest>type_files/helm/1.1.0/helm_types.yaml</typefile.dest>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <sonar.sources>.</sonar.sources>
+    <sonar.junit.reportsPath>nosetests.xml</sonar.junit.reportsPath>
+    <sonar.python.coverage.reportPath>coverage.xml</sonar.python.coverage.reportPath>
+    <sonar.language>py</sonar.language>
+    <sonar.pluginName>Python</sonar.pluginName>
+    <sonar.inclusions>**/*.py</sonar.inclusions>
+    <sonar.exclusions>plugin/tests/*,setup.py</sonar.exclusions>
+  </properties>
+
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>sonar-maven-plugin</artifactId>
+          <version>2.7.1</version>
+        </plugin>
+
+        <!-- nexus-staging-maven-plugin is called during deploy phase by default behavior.
+         we do not need it -->
+        <plugin>
+          <groupId>org.sonatype.plugins</groupId>
+          <artifactId>nexus-staging-maven-plugin</artifactId>
+          <version>1.6.7</version>
+          <configuration>
+            <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <plugins>
+
+      <!-- first disable the default Java plugins at various stages -->
+      <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares the resources
+       dir.  we do not need it -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>2.6</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+
+      <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.1</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+
+      <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.4</version>
+        <executions>
+          <execution>
+            <id>default-jar</id>
+            <phase/>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under
+       target dir to ~/.m2.  we do not need it -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-install-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+
+      <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
+       we do not need it -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.12.4</version>
+        <configuration>
+          <skipTests>true</skipTests>
+        </configuration>
+      </plugin>
+
+      <!-- now we configure custom action (calling a script) at various lifecycle phases -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>1.2.1</version>
+        <executions>
+          <execution>
+            <id>clean phase script</id>
+            <phase>clean</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>clean</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+                <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME>
+                <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>generate-sources script</id>
+            <phase>generate-sources</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>generate-sources</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>compile script</id>
+            <phase>compile</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>compile</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>package script</id>
+            <phase>package</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>package</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+                <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME>
+                <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>test script</id>
+            <phase>test</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>test</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+                <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME>
+                <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>install script</id>
+            <phase>install</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>install</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+              </environmentVariables>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>deploy script</id>
+            <phase>deploy</phase>
+            <goals><goal>exec</goal></goals>
+            <configuration>
+              <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>deploy</argument>
+              </arguments>
+              <environmentVariables>
+                <!-- make mvn properties as env for our script -->
+                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
+                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
+                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
+                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+                <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+                <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+                <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+                <MVN_SERVER_ID>${project.distributionManagement.snapshotRepository.id}</MVN_SERVER_ID>
+                <TYPE_FILE_SOURCE>${typefile.source}</TYPE_FILE_SOURCE>
+                <TYPE_FILE_DEST>${typefile.dest}</TYPE_FILE_DEST>
+                <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME>
+                <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR>
+              </environmentVariables>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
index c15d98e..8eb67f9 100644 (file)
@@ -23,8 +23,8 @@ from setuptools import setup
 setup(
 
     # Do not use underscores in the plugin name.
-    name='onap-helm-plugin',
-    version='2.3.0',
+    name='helm',
+    version='2.3.1',
     author='Nicolas Hu(AT&T)',
     author_email='jh245g@att.com',
     description='This plugin will install/uninstall/upgrade/rollback helm '
index 14c340c..059a114 100644 (file)
@@ -7,9 +7,14 @@ deps =
     # this fixes issue with tox installing coverage --pre
     coverage==3.7.1
     nose-cov
+    mock
     testfixtures
     -rdev-requirements.txt
-commands=nosetests --with-cov --cov-report term-missing --cov plugin plugin/tests
+# commands=nosetests --with-cov --cov-report term-missing --cov plugin plugin/tests
+commands=nosetests --with-xunit --with-cov --cov-report=xml --cov plugin plugin/tests
+
+[flake8]
+ignore=E302,F401,E501,E712,F811,F841,E127,E128.W291
 
 [testenv:flake8]
 deps =
diff --git a/pom.xml b/pom.xml
index bf28a1f..d25491f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,7 @@ limitations under the License.
      <module>sshkeyshare</module>
      <module>pgaas</module>
      <module>dnsdesig</module>
+     <module>helm</module>
   </modules>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>