Add sdc startup in IT 50/111250/7
authorsebdet <sebastien.determe@intl.att.com>
Thu, 13 Aug 2020 17:32:41 +0000 (10:32 -0700)
committerChristophe Closset <christophe.closset@intl.att.com>
Fri, 21 Aug 2020 19:21:59 +0000 (19:21 +0000)
Add the SDC startup for IT tests

Issue-ID: SDC-3232
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I865eabfb6c61f26f98ee12906de09f1a8daa469a
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
integration-tests/pom.xml [new file with mode: 0644]
integration-tests/src/test/resources/integration-test.json [new file with mode: 0644]
pom.xml

diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
new file mode 100644 (file)
index 0000000..a4a6e90
--- /dev/null
@@ -0,0 +1,428 @@
+<!--
+============LICENSE_START=======================================================
+SDC
+================================================================================
+Copyright (C) 2020 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>
+
+    <groupId>org.openecomp.sdc</groupId>
+    <artifactId>sdc-integration-tests</artifactId>
+    <packaging>pom</packaging>
+    <name>sdc-integration-tests</name>
+
+    <parent>
+        <groupId>org.openecomp.sdc</groupId>
+        <artifactId>sdc-main</artifactId>
+        <version>1.7.0-SNAPSHOT</version>
+    </parent>
+
+    <properties>
+        <!-- Integration tests parameters -->
+        <it.env.name>integration-test</it.env.name>
+        <it.cassandra.port>9042</it.cassandra.port>
+        <it.cassandra.password>onap123#@!</it.cassandra.password>
+        <it.cassandra.ssl.enabled>false</it.cassandra.ssl.enabled>
+        <it.sdc.cluster.name>SDC-CS-${it.env.name}</it.sdc.cluster.name>
+        <it.sdc.user>asdc_user</it.sdc.user>
+        <it.sdc.password>Aa1234%^!</it.sdc.password>
+        <it.chef.config>${project.build.directory}/chef-config</it.chef.config>
+        <it.shared.volume>/tmp/sdc-integration-tests</it.shared.volume>
+        <it.docker.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
+        </it.docker.version>
+    </properties>
+
+    <dependencies>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <!-- Section for Integration tests -->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-resources</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${it.chef.config}</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/test/resources</directory>
+                                    <filtering>true</filtering>
+                                    <includes>
+                                        <include>integration-test.json</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.8</version>
+                <inherited>false</inherited>
+                <executions>
+                    <execution>
+                        <phase>pre-integration-test</phase>
+                        <configuration>
+                            <target>
+                                <mkdir dir="${it.shared.volume}"/>
+                                <chmod dir="${it.shared.volume}" type="dir" perm="ugo+rwx"/>
+                            </target>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <inherited>false</inherited>
+                <executions>
+                    <execution>
+                        <id>reserve-port-for-tests</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>reserve-network-port</goal>
+                        </goals>
+                        <configuration>
+                            <portNames>
+                                <portName>sdc.it.docker.cassandra.port</portName>
+                            </portNames>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <inherited>false</inherited>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.httpcomponents</groupId>
+                        <artifactId>httpclient</artifactId>
+                        <version>4.5.5</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <verbose>true</verbose>
+                    <apiVersion>1.35</apiVersion>
+                    <autoCreateCustomNetworks>true</autoCreateCustomNetworks>
+                    <images>
+                        <image>
+                            <name>onap/sdc-cassandra:${it.docker.version}</name>
+                            <alias>sdc-cassandra</alias>
+                            <run>
+                                <env>
+                                    <RELEASE>${project.version}</RELEASE>
+                                    <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                    <MAX_HEAP_SIZE>1536M</MAX_HEAP_SIZE>
+                                    <HEAP_NEWSIZE>512M</HEAP_NEWSIZE>
+                                </env>
+                                <hostname>sdc-cs</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/root/chef-solo/environments</volume>
+                                    </bind>
+                                </volumes>
+                                <ulimits>
+                                    <ulimit>
+                                        <name>memlock</name>
+                                        <hard>-1</hard>
+                                        <soft>-1</soft>
+                                    </ulimit>
+                                    <ulimit>
+                                        <name>nofile</name>
+                                        <hard>100000</hard>
+                                        <soft>100000</soft>
+                                    </ulimit>
+                                </ulimits>
+                                <wait>
+                                    <time>120000</time>
+                                    <tcp>
+                                        <host>sdc-cs</host>
+                                        <mode>direct</mode>
+                                        <ports>
+                                            <port>9042</port>
+                                        </ports>
+                                    </tcp>
+                                </wait>
+                                <ports>
+                                    <port>9042:9042</port>
+                                </ports>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-cs</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-cassandra-init:${it.docker.version}</name>
+                            <alias>sdc-cassandra-init</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-cassandra</container>
+                                </dependsOn>
+                                <env>
+                                    <RELEASE>${project.version}</RELEASE>
+                                    <SDC_USER>${it.sdc.user}</SDC_USER>
+                                    <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
+                                    <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                </env>
+                                <hostname>sdc-cs-init</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/home/sdc/chef-solo/environments</volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>300000</time>
+                                    <log>SdcSchemaFileImport successfully completed</log>
+                                </wait>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-cs-init</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-onboard-cassandra-init:${it.docker.version}</name>
+                            <alias>sdc-cassandra-onboard-init</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-cassandra-init</container>
+                                </dependsOn>
+                                <env>
+                                    <RELEASE>${project.version}</RELEASE>
+                                    <SDC_USER>${it.sdc.user}</SDC_USER>
+                                    <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
+                                    <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
+                                    <CS_HOST_PORT>${it.cassandra.port}</CS_HOST_PORT>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                    <CS_HOST_IP>sdc-cs</CS_HOST_IP>
+                                </env>
+                                <hostname>sdc-cs-onboard-init</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/home/sdc/chef-solo/environments</volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>30000</time>
+                                    <log>Initializing onboard schemas</log>
+                                </wait>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-cs-onboard-init</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-onboard-backend:${it.docker.version}</name>
+                            <alias>sdc-onboard-backend</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-cassandra-onboard-init</container>
+                                </dependsOn>
+                                <env>
+                                    <cassandra_ssl_enabled>${it.cassandra.ssl.enabled}</cassandra_ssl_enabled>
+                                    <SDC_CLUSTER_NAME>${it.sdc.cluster.name}</SDC_CLUSTER_NAME>
+                                    <SDC_USER>${it.sdc.user}</SDC_USER>
+                                    <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                    <SDC_CERT_DIR>onap/cert</SDC_CERT_DIR>
+                                    <JAVA_OPTIONS>-Xmx1536m -Xms1536m</JAVA_OPTIONS>
+                                </env>
+                                <hostname>sdc-onboard-BE</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>30000</time>
+                                    <tcp>
+                                        <host>sdc-onboard-BE</host>
+                                        <mode>direct</mode>
+                                        <ports>
+                                            <port>8445</port>
+                                            <port>8081</port>
+                                        </ports>
+                                    </tcp>
+                                </wait>
+                                <ports>
+                                    <port>8445:8445</port>
+                                    <port>8081:8081</port>
+                                </ports>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-onboard-BE</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-backend:${it.docker.version}</name>
+                            <alias>sdc-backend</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-onboard-backend</container>
+                                </dependsOn>
+                                <env>
+                                    <cassandra_ssl_enabled>${it.cassandra.ssl.enabled}</cassandra_ssl_enabled>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                    <JAVA_OPTIONS>-Xmx1536m -Xms1536m</JAVA_OPTIONS>
+                                </env>
+                                <hostname>sdc-BE</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
+                                        <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>60000</time>
+                                    <tcp>
+                                        <host>sdc-BE</host>
+                                        <mode>direct</mode>
+                                        <ports>
+                                            <port>8443</port>
+                                            <port>8080</port>
+                                        </ports>
+                                    </tcp>
+                                </wait>
+                                <ports>
+                                    <port>8443:8443</port>
+                                    <port>8080:8080</port>
+                                </ports>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-BE</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-backend-init:${it.docker.version}</name>
+                            <alias>sdc-backend-init</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-backend</container>
+                                </dependsOn>
+                                <env>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                </env>
+                                <hostname>sdc-BE-init</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/home/onap/chef-solo/environments</volume>
+                                        <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>600000</time>
+                                    <log>Chef Client finished</log>
+                                </wait>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-BE-init</alias>
+                                </network>
+                            </run>
+                        </image>
+                        <image>
+                            <name>onap/sdc-frontend:${it.docker.version}</name>
+                            <alias>sdc-frontend</alias>
+                            <run>
+                                <dependsOn>
+                                    <container>sdc-backend-init</container>
+                                </dependsOn>
+                                <env>
+                                    <ENVNAME>${it.env.name}</ENVNAME>
+                                    <JAVA_OPTIONS>-Xmx256m -Xms256m</JAVA_OPTIONS>
+                                </env>
+                                <hostname>sdc-FE</hostname>
+                                <volumes>
+                                    <bind>
+                                        <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
+                                        <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
+                                        <volume>
+                                            sdc-os-chef/environments/plugins-configuration.yaml:/var/lib/jetty/config/catalog-fe/plugins-configuration.yaml
+                                        </volume>
+                                    </bind>
+                                </volumes>
+                                <wait>
+                                    <time>60000</time>
+                                    <tcp>
+                                        <host>sdc-FE</host>
+                                        <mode>direct</mode>
+                                        <ports>
+                                            <port>9443</port>
+                                            <port>8181</port>
+                                        </ports>
+                                    </tcp>
+                                </wait>
+                                <ports>
+                                    <port>9443:9443</port>
+                                    <port>8181:8181</port>
+                                </ports>
+                                <network>
+                                    <mode>custom</mode>
+                                    <name>sdc-network</name>
+                                    <alias>sdc-FE</alias>
+                                </network>
+                            </run>
+                        </image>
+                    </images>
+                </configuration>
+
+                <executions>
+                    <execution>
+                        <id>docker-start-for-it</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>start</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>docker-stop-for-it</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>stop</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+
diff --git a/integration-tests/src/test/resources/integration-test.json b/integration-tests/src/test/resources/integration-test.json
new file mode 100644 (file)
index 0000000..dec9c2f
--- /dev/null
@@ -0,0 +1,104 @@
+{
+   "name": "${it.env.name}",
+   "description": "OpenSource-${it.env.name}",
+   "json_class": "Chef::Environment",
+   "chef_type": "environment",
+
+   "default_attributes": {
+      "disableHttp": false,
+      "CS_VIP": "sdc-cs",
+      "BE_VIP": "sdc-BE",
+      "ONBOARDING_BE_VIP": "sdc-onboard-BE",
+      "FE_VIP": "sdc-FE",
+      "DCAE_BE_VIP": "localhost",
+      "DCAE_FE_VIP": "localhost",
+      "DCAE_TOSCA_LAB_VIP": "localhost",
+      "interfaces": {
+         "application": "eth0",
+         "private": "eth1"
+      },
+      "ECompP": {
+         "ecomp_rest_url": "http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi",
+         "ecomp_redirect_url": "http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm",
+         "cipher_key": "AGLDdG4D04BKm2IxIWEr8o==",
+         "portal_user": "Ipwxi2oLvDxctMA1royaRw1W0jhucLx+grHzci3ePIA=",
+         "portal_pass": "j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=",
+         "portal_app_name": "Ipwxi2oLvDxctMA1royaRw1W0jhucLx+grHzci3ePIA="
+      },
+      "UEB": {
+         "PublicKey": "iPIxkpAMI8qTcQj8",
+         "SecretKey": "Ehq3WyT4bkif4zwgEbvshGal",
+         "fqdn": ["10.0.11.1", "10.0.11.1"]
+      },
+      "Nodes": {
+         "CS": [
+            "sdc-cs"
+         ],
+         "BE":            "sdc-BE",
+         "ONBOARDING_BE": "sdc-onboard-BE",
+         "FE":            "sdc-FE"
+      },
+      "VnfRepo": {
+         "vnfRepoPort": "8702",
+         "vnfRepoHost": "10.0.14.1"
+      }
+   },
+   "override_attributes": {
+      "FE": {
+         "http_port": "8181",
+         "https_port": "9443",
+         "domain_name": "sdc"
+      },
+      "BE": {
+         "http_port": "8080",
+         "https_port": "8443",
+         "domain_name": "sdc"
+      },
+      "ONBOARDING_BE": {
+         "http_port": "8081",
+         "https_port": "8445",
+         "domain_name": "sdc",
+         "catalog_notification_url": "%s://%s:%s/sdc2/rest/v1/catalog/notif/vsp/"
+      },
+      "cassandra": {
+         "cassandra_port": 9042,
+         "concurrent_reads": "32",
+         "num_tokens": "256",
+         "data_dir": "/var/lib/cassandra/data",
+         "hinted_handoff_enabled": "true",
+         "cassandra_user": "${it.sdc.user}",
+         "cassandra_password": "${it.sdc.password}",
+         "concurrent_writes": "32",
+         "cluster_name": "${it.sdc.cluster.name}",
+         "datacenter_name": "${it.sdc.cluster.name}",
+         "multithreaded_compaction": "false",
+         "cache_dir": "/var/lib/cassandra/saved_caches",
+         "log_file": "/var/lib/cassandra/log/system.log",
+         "phi_convict_threshold": "8",
+         "commitlog_dir": "/var/lib/cassandra/commitlog",
+         "socket_read_timeout": "40000",
+         "socket_connect_timeout": "40000",
+         "janusgraph_connection_timeout": "20000",
+         "replication_factor": "1"
+      },
+      "DMAAP": {
+         "consumer": {
+            "host": "dcae-mrtr.com:3905",
+            "topic": "operationalEnvironmentEvent",
+            "serviceName": "dcae-mrtr.com:3905/events",
+            "environment": "${it.env.name}",
+            "partner": "BOT_R",
+            "username": "user1@sdc.com",
+            "password": "password=="
+         },
+         "producer": {
+            "host": "olsd004.com:3905",
+            "topic": "SDC-FACADE-NOTIF-v1 ",
+            "serviceName": "dmaap.com:3905/events",
+            "environment": "${it.env.name}",
+            "username": "user1@sdc.com",
+            "password": "password=="
+         }
+      }
+   }
+}
diff --git a/pom.xml b/pom.xml
index 5232878..2aef579 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -166,9 +166,9 @@ Modifications copyright (c) 2018-2019 Nokia
 
     <java.driver.core.version>4.5.1</java.driver.core.version>
 
+    <checkstyle.skip>true</checkstyle.skip>
   </properties>
 
-
   <dependencyManagement>
     <dependencies>
       <dependency>
@@ -339,7 +339,7 @@ Modifications copyright (c) 2018-2019 Nokia
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
-          <version>3.0.0</version>
+          <version>3.2.0</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
@@ -354,12 +354,12 @@ Modifications copyright (c) 2018-2019 Nokia
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>3.1.0</version>
+          <version>3.2.0</version>
         </plugin>
         <plugin>
           <groupId>io.fabric8</groupId>
           <artifactId>docker-maven-plugin</artifactId>
-          <version>0.26.0</version>
+          <version>0.31.0</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
@@ -573,8 +573,8 @@ Modifications copyright (c) 2018-2019 Nokia
         <module>ui-ci</module>
         <module>sdc-os-chef</module>
         <module>utils/webseal-simulator</module>
+        <module>integration-tests</module>
       </modules>
-
     </profile>
 
     <profile>