Update POM files for vLB manual scaling 59/46859/1
authorMarco Platania <platania@research.att.com>
Wed, 9 May 2018 14:49:30 +0000 (10:49 -0400)
committerMarco Platania <platania@research.att.com>
Wed, 9 May 2018 14:49:30 +0000 (10:49 -0400)
- Change version number of HC artifacts to 1.2.0
- Create a deploy script template in POM file
- Change HC version number in install scripts

Change-Id: If437d5c719a8a5edfa54dc48abfbc34253c5728d
Issue-ID: INT-447
Signed-off-by: Marco Platania <platania@research.att.com>
vnfs/vLBMS/apis/health-vnf-onap-plugin/pom.xml
vnfs/vLBMS/apis/vlb-business-vnf-onap-plugin/pom.xml
vnfs/vLBMS/apis/vlb-vnf-onap-distribution/pom.xml
vnfs/vLBMS/scripts/run_streams_dns.sh
vnfs/vLBMS/scripts/v_dns_init.sh
vnfs/vLBMS/scripts/v_lb_init.sh
vnfs/vLBMS/scripts/v_lb_install.sh
vnfs/vLBMS/scripts/v_packetgen_init.sh

index 7dbc664..4b45d68 100755 (executable)
@@ -23,7 +23,7 @@
 
   <groupId>org.onap.demo.vnf.health</groupId>
   <artifactId>health-vnf-onap-plugin-aggregator</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.2.0</version>
   <name>health-vnf-onap-plugin-aggregator</name>
   <packaging>pom</packaging>
   <modelVersion>4.0.0</modelVersion>
index 08223d7..a522cdb 100644 (file)
@@ -23,7 +23,7 @@
 
   <groupId>org.onap.demo.vnf.vlb</groupId>
   <artifactId>vlb-business-vnf-onap-plugin-aggregator</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.2.0</version>
   <name>vlb-business-vnf-onap-plugin-aggregator</name>
   <packaging>pom</packaging>
   <modelVersion>4.0.0</modelVersion>
index 90f5770..1e2d1c0 100644 (file)
@@ -2,18 +2,23 @@
 <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">
 
   <parent>
-    <artifactId>demo-aggregator</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
-    <groupId>org.onap.demo.vnf</groupId>
-    <relativePath>../../../../pom.xml</relativePath>
+    <groupId>io.fd.honeycomb.common</groupId>
+    <artifactId>minimal-distribution-parent</artifactId>
+    <version>1.17.07</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.onap.demo.vnf.vlb</groupId>
   <artifactId>vlb-vnf-onap-distribution</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.2.0</version>
 
   <properties>
+    <nexusproxy>http://nexus.fd.io/content</nexusproxy>
+    <start.script.template>
+#!/bin/sh -
+%s
+    </start.script.template>
+
     <exec.parameters>-Xms128m -Xmx128m</exec.parameters>
     <main.class>io.fd.honeycomb.infra.distro.Main</main.class>
     <interfaces.mapping.version>1.17.07</interfaces.mapping.version>
   <build>
     <plugins>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>groovy-maven-plugin</artifactId>
+        <version>3.3</version>
+        <configuration>
+          <!-- Use google's error-prone static analysis-->
+          <compilerId>javac-with-errorprone</compilerId>
+          <forceJavacCompilerUse>true</forceJavacCompilerUse>
+          <showWarnings>true</showWarnings>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.codehaus.plexus</groupId>
+            <artifactId>plexus-compiler-javac-errorprone</artifactId>
+            <version>2.5</version>
+          </dependency>
+          <!-- override plexus-compiler-javac-errorprone's dependency on
+               Error Prone with the latest version -->
+          <dependency>
+            <groupId>com.google.errorprone</groupId>
+            <artifactId>error_prone_core</artifactId>
+            <version>2.0.9</version>
+          </dependency>
+        </dependencies>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <mainClass>${main.class}</mainClass>
+              <addClasspath>true</addClasspath>
+              <classpathPrefix>lib/</classpathPrefix>
+              <useUniqueVersions>false</useUniqueVersions>
+              <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+            </manifest>
+            <manifestEntries>
+              <Class-Path>config/ cert/ modules/ yang-mapping/</Class-Path>
+            </manifestEntries>
+          </archive>
+        </configuration>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
            </execution>
          </executions>
       </plugin>
+
+      <!-- Generate shell script -->
+      <plugin>
+        <groupId>org.codehaus.gmaven</groupId>
+        <artifactId>groovy-maven-plugin</artifactId>
+        <version>2.0</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>execute</goal>
+            </goals>
+            <configuration>
+              <source>
+                import java.nio.file.Paths
+
+                log.info "Generating shell exec script"
+                def scriptTemplate = properties.getOrDefault("start.script.template", "")
+                def args = properties.getOrDefault("exec.parameters", "")
+                log.debug "Additional shell exec script properties: ${args}"
+                def javaArgs = "${args} -jar \$(dirname \$0)/${project.artifactId}-${project.version}.jar"
+                def scriptParent = Paths.get(project.build.outputDirectory, "honeycomb-minimal-resources")
+                scriptParent.toFile().mkdirs()
+                def scriptContent = "java " + javaArgs
+                log.info "Generating shell exec script as ${scriptContent}"
+                def scriptPath = Paths.get(scriptParent.toString(), "honeycomb")
+                log.info "Writing shell exec script to ${scriptPath}"
+                scriptPath.toFile().text = String.format(scriptTemplate, scriptContent)
+                scriptPath.toFile().setExecutable(true)
+
+                scriptPath = Paths.get(scriptParent.toString(), "honeycomb-start")
+                log.info "Writing shell exec script to ${scriptPath}"
+                scriptPath.toFile().text = "\$(dirname \$0)/honeycomb &amp;"
+                scriptPath.toFile().setExecutable(true)
+
+                def debug_args = properties.getOrDefault("debug.parameters", "")
+                def debugScriptContent = "java" + " ${debug_args} " + javaArgs
+                log.info "Generating shell debug script as ${debugScriptContent}"
+                scriptPath = Paths.get(scriptParent.toString(), "honeycomb-debug")
+                log.info "Writing shell debug script to ${scriptPath}"
+                scriptPath.toFile().text = String.format(scriptTemplate, debugScriptContent)
+                scriptPath.toFile().setExecutable(true)
+              </source>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <dependencies>
       <artifactId>minimal-distribution</artifactId>
       <version>${honeycomb.min.distro.version}</version>
     </dependency>
-
   </dependencies>
 </project>
index 86f97b2..c25c2b5 100644 (file)
@@ -7,7 +7,7 @@ vppctl packet-gen disable
 vppctl packet-gen enable-stream dns1
 vppctl packet-gen enable-stream dns2
 
-sleep 180
+sleep 60
 
 #Rehash port numbers and re-run five streams every minute
 while true; do
index f891eb6..4ae9874 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/bash
 
 cd /opt
-./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)-SNAPSHOT/honeycomb &>/var/log/honeycomb.log &disown
+./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)/honeycomb &>/var/log/honeycomb.log &disown
 ./set_gre_tunnel.sh
index 26d88c0..4300c55 100644 (file)
@@ -77,7 +77,7 @@ vppctl set ip arp tap-0 $PKTGEN_IPADDR $PKTGEN_MAC
 
 # Start Honeycomb and initialize the vLB with information about vDNS
 cd /opt
-./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)-SNAPSHOT/honeycomb &>/var/log/honeycomb.log &disown
+./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)/honeycomb &>/var/log/honeycomb.log &disown
 sleep 10
 
 OAM_VDNS_IP=$(cat /opt/config/oam_vdns_ip.txt)
@@ -85,6 +85,6 @@ VDNS_IPADDR=$(cat /opt/config/vdns_ipaddr.txt)
 curl -X PUT http://localhost:8183/restconf/config/vlb-business-vnf-onap-plugin:vlb-business-vnf-onap-plugin/vdns-instances/vdns-instance/$VDNS_IPADDR -H 'Accept: application/json' -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -H 'Postman-Token: 8bfe8815-3efb-4c9b-8974-7b8d7b6da4c6' -H "Authorization: Basic YWRtaW46YWRtaW4=" -d '{"vdns-instance": [{ "ip-addr": "'$VDNS_IPADDR'", "oam-ip-addr": "'$OAM_VDNS_IP'", "enabled": true }]}'
 
 # Start VES agent
-cd /opt/VES/evel/evel-library/code/VESreporting/
-echo 0 > active_dns.txt
-./go-client.sh &>/dev/null &disown
+#cd /opt/VES/evel/evel-library/code/VESreporting/
+#echo 0 > active_dns.txt
+#./go-client.sh &>/dev/null &disown
index aafa56d..e8392e0 100644 (file)
@@ -68,8 +68,8 @@ wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlbms/$INSTALL_SCRIPT_VERSION/add_dns.sh
 wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlbms/$INSTALL_SCRIPT_VERSION/remove_dns.sh
 wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlbms/$INSTALL_SCRIPT_VERSION/properties.conf -O /opt/config/properties.conf
 wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlbms/$INSTALL_SCRIPT_VERSION/run_health.sh
-wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/ves5/ves/$DEMO_ARTIFACTS_VERSION/ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
-wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/ves5/ves_vlb_reporting/$DEMO_ARTIFACTS_VERSION/ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+#wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/ves5/ves/$DEMO_ARTIFACTS_VERSION/ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+#wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/ves5/ves_vlb_reporting/$DEMO_ARTIFACTS_VERSION/ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
 
 tar -zmxvf ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
 mv ves-$DEMO_ARTIFACTS_VERSION VES
@@ -103,10 +103,10 @@ apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev
 sleep 1
 
 # Install VES
-cd /opt/VES/evel/evel-library/bldjobs/
-make clean
-make
-sleep 1
+#cd /opt/VES/evel/evel-library/bldjobs/
+#make clean
+#make
+#sleep 1
 
 # Run instantiation script
 cd /opt
index 30707f0..fe956ef 100644 (file)
@@ -96,7 +96,7 @@ sleep 1
 
 # Start Honeycomb and enable traffic flows
 cd /opt
-./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)-SNAPSHOT/honeycomb &>/var/log/honeycomb.log &disown
+./vlb-vnf-onap-distribution-$(cat /opt/config/demo_artifacts_version.txt)/honeycomb &>/var/log/honeycomb.log &disown
 
 chmod +x run_streams_dns.sh
 ./run_streams_dns.sh &>/dev/null &disown