Integrate new mS into IT 64/84364/1
authorJerry Flood <jflood@att.com>
Fri, 5 Apr 2019 16:23:07 +0000 (12:23 -0400)
committerJerry Flood <jflood@att.com>
Fri, 5 Apr 2019 16:23:16 +0000 (12:23 -0400)
Issue-ID: OPTFRA-458
Change-Id: I42966034101baa54c1b60e07b74c17d97680da81
Signed-off-by: Jerry Flood <jflood@att.com>
34 files changed:
cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql
cmso-optimizer/etc/config/optimizer.properties
cmso-optimizer/pom.xml
cmso-optimizer/scripts/minizinc/run.bat [new file with mode: 0644]
cmso-optimizer/scripts/minizinc/run.sh [new file with mode: 0644]
cmso-optimizer/src/main/docker/Dockerfile
cmso-optimizer/src/main/docker/assembly/cmso-files.xml
cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java
cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java
cmso-robot/.project
cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/cadi.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/liquibase.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/optimizer.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-optimizer/etc/startDbinitService.sh [moved from cmso-robot/docker/etc/startDbinitService.sh with 97% similarity, mode: 0755]
cmso-robot/docker/cmso-service/cmso-optimizer/etc/startJacocoService.sh [moved from cmso-robot/docker/etc/startJacocoService.sh with 100% similarity]
cmso-robot/docker/cmso-service/cmso-service/etc/config/cadi.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-service/etc/config/cmso.properties [moved from cmso-robot/docker/etc/config/cmso.properties with 98% similarity]
cmso-robot/docker/cmso-service/cmso-service/etc/config/liquibase.properties [moved from cmso-robot/docker/etc/config/liquibase.properties with 100% similarity]
cmso-robot/docker/cmso-service/cmso-service/etc/config/optimizer.properties [moved from cmso-robot/docker/etc/config/optimizer.properties with 90% similarity]
cmso-robot/docker/cmso-service/cmso-service/etc/config/ticketmgt.properties [moved from cmso-robot/docker/etc/config/ticketmgt.properties with 100% similarity]
cmso-robot/docker/cmso-service/cmso-service/etc/startDbinitService.sh [new file with mode: 0755]
cmso-robot/docker/cmso-service/cmso-service/etc/startJacocoService.sh [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/cadi.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/ticketmgt.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/startJacocoService.sh [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-topology/etc/config/cadi.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-topology/etc/config/topology.properties [new file with mode: 0644]
cmso-robot/docker/cmso-service/cmso-topology/etc/startJacocoService.sh [new file with mode: 0644]
cmso-robot/docker/cmso-service/docker-compose.yml
cmso-robot/ete.sh [changed mode: 0644->0755]
cmso-robot/robot/assets/test_properties.py
cmso-robot/robot/testsuites/AAAwait_for_server.robot
cmso-service/pom.xml
cmso-topology/pom.xml

index 2f6aafb..639a030 100644 (file)
@@ -84,11 +84,6 @@ update CHANGE_MANAGEMENT_CHANGE_WINDOWS set change_management_group_uuid =
 update SCHEDULE_APPROVALS set approval_types_uuid = 
        (select distinct s.uuid from APPROVAL_TYPES s where approval_type_id = s.id);
 
--- ----------------------------------------------------
--- APPROVAL_TYPES Update all of the foreign key columns
--- ----------------------------------------------------
-update SCHEDULE_APPROVALS set approval_types_uuid = 
-       (select distinct s.uuid from SCHEDULE_APPROVALS t, APPROVAL_TYPES s where t.approval_type_id = s.id);
 
 SET SQL_SAFE_UPDATES = 1;
 
index 641bbeb..653d21b 100644 (file)
@@ -43,6 +43,10 @@ logging.level.org.hibernate.SQL=TRACE
 
 logging.level.org.hibernate=TRACE
 
+healthcheck.cmso.topology.url=http://127.0.0.1:7998/topology/v1/health?checkInterfaces=true
+healthcheck.cmso.ticketmgt.url=http://127.0.0.1:7999/ticketmgt/v1/health?checkInterfaces=true
+healthcheck.cmso.topology.title="CMSO Topology Interface"
+healthcheck.cmso.ticketmgt.title="CMSO Ticket Management Interface"
 
 cmso.topology.create.request.url=http://127.0.0.1:7998/topology/v1/current
 cmso.ticket.create.request.url=http://127.0.0.1:7999/ticketmgt/v1/activetickets
index 2ede9e7..fa27b8e 100644 (file)
@@ -27,7 +27,7 @@
 
        <packaging>jar</packaging>
 
-       <name>cmso</name>
+       <name>cmso-optimizer</name>
 
        <properties>
                <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
                                        <apiVersion>1.23</apiVersion>
                                        <images>
                                                <image>
-                                                       <name>onap/optf-cmso-tciketmgt</name>
-                                                       <alias>onap-optf-cmso-tciketmgt</alias>
+                                                       <name>onap/optf-cmso-optimizer</name>
+                                                       <alias>onap-optf-cmso-optimizer</alias>
                                                        <build>
                                                                <cleanup>true</cleanup>
                                                                <tags>
                                        <include>**/*</include>
                                </includes>
                        </resource>
+                       <resource>
+                               <directory>${basedir}/scripts</directory>
+                               <targetPath>${basedir}/target/scripts</targetPath>
+                               <filtering>true</filtering>
+                               <includes>
+                                       <include>**/*</include>
+                               </includes>
+                       </resource>
                </resources>
                <pluginManagement>
                        <plugins>
diff --git a/cmso-optimizer/scripts/minizinc/run.bat b/cmso-optimizer/scripts/minizinc/run.bat
new file mode 100644 (file)
index 0000000..dc40503
--- /dev/null
@@ -0,0 +1 @@
+%MINIZINC% --solver %MINIZINC_SOLVER% --time-limit %MINIZINC_TIMELIMIT% --soln-sep "" --search-complete-msg "" -o %MINIZINC_OUTPUT% %MINIZINC_MZN% %MINIZINC_DZN%
\ No newline at end of file
diff --git a/cmso-optimizer/scripts/minizinc/run.sh b/cmso-optimizer/scripts/minizinc/run.sh
new file mode 100644 (file)
index 0000000..690c281
--- /dev/null
@@ -0,0 +1 @@
+${MINIZINC} --solver ${MINIZINC_SOLVER} --time-limit ${MINIZINC_TIMELIMIT} --soln-sep '' --search-complete-msg '' -o ${MINIZINC_OUTPUT} ${MINIZINC_MZN} ${MINIZINC_DZN}
\ No newline at end of file
index 9ef42ab..fde2caf 100644 (file)
@@ -10,10 +10,26 @@ ENV HTTPS_PROXY=$https_proxy
 ENV http_proxy=$HTTP_PROXY
 ENV https_proxy=$HTTPS_PROXY
 
+ENV MZN 2.2.3
+ENV MZN_BASENAME MiniZincIDE-${MZN}-bundle-linux-x86_64
+ENV MZN_UNZIPNAME MiniZincIDE-${MZN}-bundle-linux
+ENV MZN_GH_BASE https://github.com/MiniZinc/MiniZincIDE
+ENV MZN_DL_URL ${MZN_GH_BASE}/releases/download/${MZN}/${MZN_BASENAME}.tgz
+
 RUN test -n "$http_proxy" && echo "Acquire::Proxy \"http://$http_proxy\";" > /etc/apt/apt.conf.d/02proxy || true &&  \
     apt-get update &&  \
     apt-get -y dist-upgrade &&  \
-    apt-get install -y openjdk-8-jre-headless
+    apt-get install -y openjdk-8-jre-headless && \
+    apt-get install wget
+
+
+# Minizinc
+RUN wget -q $MZN_DL_URL -O mz.tgz
+RUN tar xzf mz.tgz
+RUN mv $MZN_UNZIPNAME /mz-dist
+RUN rm mz.tgz
+RUN echo PATH=/mz-dist:$PATH >> ~/.bashrc
+
 
 COPY onap-cmso-optimizer/cmso-optimizer.jar ${APP_HOME}/app.jar
 
@@ -23,6 +39,7 @@ VOLUME /share/debug-logs
 
 COPY onap-cmso-optimizer/startService.sh ${APP_HOME}/startService.sh
 COPY onap-cmso-optimizer/data ${APP_HOME}/data
+COPY onap-cmso-optimizer/scripts ${APP_HOME}/scripts
 
 RUN chmod 700 ${APP_HOME}/startService.sh
 RUN ln -s /share/etc ${APP_HOME}/etc
index 2e3f19e..cf96a35 100644 (file)
                        <directory>data</directory>
                        <outputDirectory>/data</outputDirectory>
                </fileSet>
+               <fileSet>
+                       <includes>
+                               <include>**</include>
+                       </includes>
+                       <directory>scripts</directory>
+                       <outputDirectory>/scripts</outputDirectory>
+               </fileSet>
                <fileSet>
                        <directory>${project.basedir}/src/main/resources</directory>
                        <outputDirectory>./resources</outputDirectory>
index 3147bc5..9f2f8e6 100644 (file)
@@ -32,7 +32,9 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.text.ParseException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 import org.apache.commons.io.IOUtils;
 import org.onap.observations.Observation;
@@ -206,22 +208,22 @@ public class OptimizerClient {
         workingFolder.mkdirs();
         Long timeLimit = env.getProperty("cmso.minizinc.command.timelimit", Long.class);
         // TODO calculate time limit
-        Process p = null;
+        Process process = null;
         try {
             Path inputFileName = Paths.get(workingFolder.getAbsolutePath(), "input.dzn");
             Path outputFileName = Paths.get(workingFolder.getAbsolutePath(), "results.yaml");
             String dzn = request.toMiniZinc();
             Files.write(inputFileName, dzn.getBytes());
-            List<String> command = buildCommand(inputFileName, outputFileName, timeLimit.toString());
-            debug.debug("engine command=", command.toString());
-            ProcessBuilder pb = new ProcessBuilder(command);
-            p = pb.start();
-            String stdout = IOUtils.toString(p.getInputStream(), "UTF-8");
-            String stderr = IOUtils.toString(p.getErrorStream(), "UTF-8");
+            Map<String, String> environment = new HashMap<>();
+            ProcessBuilder processBuilder = buildCommand(inputFileName, outputFileName, timeLimit.toString());
+            process = processBuilder.start();
+            //debug.debug("engine command=" + commandString);
+            String stdout = IOUtils.toString(process.getInputStream(), "UTF-8");
+            String stderr = IOUtils.toString(process.getErrorStream(), "UTF-8");
             debug.debug("stdout=" + stdout);
             debug.debug("stderr=" + stderr);
-            if (p.isAlive()) {
-                p.wait();
+            if (process.isAlive()) {
+                process.wait();
             }
             OptimizerResponseUtility responseUtility = new OptimizerResponseUtility();
             OptimizerResults optimizerResults = responseUtility.parseOptimizerResult(outputFileName.toFile());
@@ -233,7 +235,7 @@ public class OptimizerClient {
             apiResponse.setErrorMessage(
                             LogMessages.OPTIMIZER_REQUEST_TIMEOUT.format(uuid.toString(), timeLimit.toString()));
             Observation.report(LogMessages.OPTIMIZER_REQUEST_TIMEOUT, uuid.toString(), timeLimit.toString());
-            p.destroyForcibly();
+            process.destroyForcibly();
         } catch (Exception e) {
             apiResponse.setStatus(OptimizerEngineResponseStatus.FAILED);
             apiResponse.setErrorMessage(LogMessages.UNEXPECTED_EXCEPTION.format(e.getMessage()));
@@ -246,32 +248,25 @@ public class OptimizerClient {
         return apiResponse;
     }
 
-    private List<String> buildCommand(Path inputFileName, Path outputFileName, String timeLimit) {
+    private ProcessBuilder buildCommand(Path inputFileName, Path outputFileName, String timeLimit) {
+        ProcessBuilder processBuilder = new ProcessBuilder();
         List<String> command = new ArrayList<>();
+        String commandline = env.getProperty("cmso.minizinc.command.commandline", "/bin/bash -x scripts/minizinc/run.sh");
         String minizinc = env.getProperty("cmso.minizinc.command.exe", "minizinc");
         String solver = env.getProperty("cmso.minizinc.command.solver", "OSICBC");
-        String additional = env.getProperty("cmso.minizinc.command.additional", "");
         String script = env.getProperty("cmso.minizinc.command.mzn", "scripts/minizinc/generic_attributes.mzn");
-
-        command.add(minizinc);
-        command.add("--solver");
-        command.add(solver);
-        command.add("--time-limit");
-        command.add(timeLimit);
-        command.add("--time-limit");
-        command.add(timeLimit);
-        command.add("--soln-sep");
-        command.add("\"\"");
-        command.add("--search-complete-msg");
-        command.add("\"\"");
-        for (String add : additional.split(" ")) {
-            command.add(add);
+        Map<String, String> environment = processBuilder.environment();
+        environment.put("MINIZINC", minizinc);
+        environment.put("MINIZINC_SOLVER", solver);
+        environment.put("MINIZINC_TIMELIMIT", timeLimit);
+        environment.put("MINIZINC_OUTPUT", outputFileName.toString());
+        environment.put("MINIZINC_MZN", script);
+        environment.put("MINIZINC_DZN", inputFileName.toString());
+        for (String arg : commandline.split(" ")) {
+          command.add(arg);
         }
-        command.add("-o");
-        command.add(outputFileName.toString());
-        command.add(script);
-        command.add(inputFileName.toString());
-        return command;
+        processBuilder.command(command);
+        return processBuilder;
     }
 
 
index 356fc8a..174d170 100644 (file)
@@ -5,6 +5,11 @@
        <projects>
        </projects>
        <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
                <buildCommand>
                        <name>org.python.pydev.PyDevBuilder</name>
                        <arguments>
                        <arguments>
                        </arguments>
                </buildCommand>
+               <buildCommand>
+                       <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.m2e.core.maven2Builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
        </buildSpec>
        <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+               <nature>org.eclipse.m2e.core.maven2Nature</nature>
                <nature>org.robotframework.ide.eclipse.main.plugin.robotNature</nature>
                <nature>org.python.pydev.pythonNature</nature>
+               <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
        </natures>
 </projectDescription>
diff --git a/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/cadi.properties b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# 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=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/liquibase.properties b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/liquibase.properties
new file mode 100644 (file)
index 0000000..fcda8bd
--- /dev/null
@@ -0,0 +1,43 @@
+###
+# Copyright (c) 2017-2019 AT&T Intellectual Property. 
+# Modifications Copyright &#194;© 2018 IBM. 
+#  
+# 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. 
+#  
+#  
+# Unless otherwise specified, all documentation contained herein is licensed 
+# under the Creative Commons License, Attribution 4.0 Intl. (the &#195;¢&#226;?&#172;&#197;"License&#195;¢&#226;?&#172;&#157;); 
+# you may not use this documentation except in compliance with the License. 
+# You may obtain a copy of the License at 
+#  
+#         https://creativecommons.org/licenses/by/4.0/ 
+#  
+# Unless required by applicable law or agreed to in writing, documentation 
+# 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.
+###
+spring.datasource.jdbcUrl=jdbc:mariadb://${DB_HOST}:3306/optimizer?createDatabaseIfNotExist=true
+spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.username=root
+spring.datasource.password=beer
+
+spring.datasource.initialize=false
+spring.datasource.tomcat.max-wait=10000
+spring.datasource.tomcat.initialSize=5
+spring.datasource.tomcat.max-active=25
+spring.datasource.tomcat.test-on-borrow=true
+
+
+changeLogFile=optimizer-liquibase-changeLog.xml
diff --git a/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/optimizer.properties b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/optimizer.properties
new file mode 100644 (file)
index 0000000..babc736
--- /dev/null
@@ -0,0 +1,54 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# 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=================================================
+# 
+#-------------------------------------------------------------------------------
+###
+
+### MySQL DB.
+spring.datasource.url=jdbc:mariadb://${DB_HOST}:3306/optimizer
+spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.username=root
+spring.datasource.password=beer
+cmso.database.password=beer
+
+spring.datasource.initialize=false
+spring.datasource.tomcat.max-wait=10000
+spring.datasource.tomcat.initialSize=5
+spring.datasource.tomcat.max-active=25
+spring.datasource.tomcat.test-on-borrow=true
+
+spring.jpa.show-sql=true
+spring.jpa.hibernate.ddl-auto=none
+spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy
+spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
+spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+spring.jpa.hibernate.id.new_generator_mappings=false
+hibernate.id.new_generator_mappings=false
+
+logging.level.org.hibernate.SQL=WARN
+
+logging.level.org.hibernate=WARN
+
+
+cmso.topology.create.request.url=http://${TOPOLOGY_HOST}:7998/topology/v1/current
+cmso.ticket.create.request.url=http://${TICKETMGT_HOST}:7999/ticketmgt/v1/activetickets
+cmso.local.policy.folder=data/policies
+
+cmso.minizinc.command.exe=/mz-dist/bin/minizinc
+cmso.minizinc.command.solver=OSICBC
+cmso.minizinc.command.timelimit=60000
+cmso.minizinc.command.mzn=scripts/minizinc/generic_attributes.mzn
old mode 100644 (file)
new mode 100755 (executable)
similarity index 97%
rename from cmso-robot/docker/etc/startDbinitService.sh
rename to cmso-robot/docker/cmso-service/cmso-optimizer/etc/startDbinitService.sh
index e6d6d9f..a7cd3ff
@@ -1,7 +1,7 @@
 #!/bin/sh
 apt update
 apt install netcat --assume-yes
-COUNTER=10
+COUNTER=30
 while [  $COUNTER -gt 0  ]; do
     nc -z ${DB_HOST} 3306
     if [ $? -eq 0 ]; then
diff --git a/cmso-robot/docker/cmso-service/cmso-service/etc/config/cadi.properties b/cmso-robot/docker/cmso-service/cmso-service/etc/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# 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=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
@@ -52,9 +52,9 @@ spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.Ph
 spring.jpa.hibernate.id.new_generator_mappings=false
 hibernate.id.new_generator_mappings=false
 
-logging.level.org.hibernate.SQL=TRACE
+logging.level.org.hibernate.SQL=WARN
 
-logging.level.org.hibernate=TRACE
+logging.level.org.hibernate=WARN
 
 #
 cmso.aaf.enabled=false
@@ -29,6 +29,6 @@
 # limitations under the License.
 #-------------------------------------------------------------------------------
 
-cmso.optimizer.url=http://localhost:8080/cmso/v1/loopbacktest/optimizer
-cmso.optimizer.callbackurl=http://localhost:8080/cmso/v1/optimizerCallback
-
+cmso.optimizer.request.url=${OPTIMIZER_URL}
+cmso.optimizer.status.url=${OPTIMIZER_URL}
+cmso.optimizer.health.url=${OPTIMIZER_HEALTH_URL}
diff --git a/cmso-robot/docker/cmso-service/cmso-service/etc/startDbinitService.sh b/cmso-robot/docker/cmso-service/cmso-service/etc/startDbinitService.sh
new file mode 100755 (executable)
index 0000000..a7cd3ff
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+apt update
+apt install netcat --assume-yes
+COUNTER=30
+while [  $COUNTER -gt 0  ]; do
+    nc -z ${DB_HOST} 3306
+    if [ $? -eq 0 ]; then
+        let COUNTER=0
+    else
+       let COUNTER=COUNTER-1 
+       sleep 10
+    fi
+done
+
+echo "VM_ARGS="${VM_ARGS}
+
+java -Djava.security.egd=file:/dev/./urandom  ${VM_ARGS} -Xms256m -Xmx1024m  -jar  ./app.jar  --spring.config.location=/share/etc/config/liquibase.properties
diff --git a/cmso-robot/docker/cmso-service/cmso-service/etc/startJacocoService.sh b/cmso-robot/docker/cmso-service/cmso-service/etc/startJacocoService.sh
new file mode 100644 (file)
index 0000000..0db6f1f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+apt update
+apt install wget
+apt install unzip  --assume-yes
+wget http://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2.jar
+unzip org.jacoco.agent-0.8.2.jar
+cp org.jacoco.agent-0.8.2/jacocoagent.jar .
+ls -l
+
+VM_ARGS="${VM_ARGS} -javaagent:./jacocoagent.jar=destfile=/share/logs/jacoco.exec,dumponexit=true,jmx=true,append=true,output=file,includes=org.onap.optf.cmso.*"
+
+echo "VM_ARGS=${VM_ARGS}"
+
+java -Djava.security.egd=file:/dev/./urandom -Xms256m -Xmx1024m ${VM_ARGS} -jar ./app.jar
diff --git a/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/cadi.properties b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# 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=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/ticketmgt.properties b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/ticketmgt.properties
new file mode 100644 (file)
index 0000000..5ca252f
--- /dev/null
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright © 2017-2019 AT&T Intellectual Property.
+# Modifications Copyright © 2018 IBM.
+# 
+# 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.
+# 
+# 
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         https://creativecommons.org/licenses/by/4.0/
+# 
+# Unless required by applicable law or agreed to in writing, documentation
+# 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.
+#-------------------------------------------------------------------------------
diff --git a/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/startJacocoService.sh b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/startJacocoService.sh
new file mode 100644 (file)
index 0000000..0db6f1f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+apt update
+apt install wget
+apt install unzip  --assume-yes
+wget http://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2.jar
+unzip org.jacoco.agent-0.8.2.jar
+cp org.jacoco.agent-0.8.2/jacocoagent.jar .
+ls -l
+
+VM_ARGS="${VM_ARGS} -javaagent:./jacocoagent.jar=destfile=/share/logs/jacoco.exec,dumponexit=true,jmx=true,append=true,output=file,includes=org.onap.optf.cmso.*"
+
+echo "VM_ARGS=${VM_ARGS}"
+
+java -Djava.security.egd=file:/dev/./urandom -Xms256m -Xmx1024m ${VM_ARGS} -jar ./app.jar
diff --git a/cmso-robot/docker/cmso-service/cmso-topology/etc/config/cadi.properties b/cmso-robot/docker/cmso-service/cmso-topology/etc/config/cadi.properties
new file mode 100644 (file)
index 0000000..5135d1d
--- /dev/null
@@ -0,0 +1,4 @@
+
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/cmso-robot/docker/cmso-service/cmso-topology/etc/config/topology.properties b/cmso-robot/docker/cmso-service/cmso-topology/etc/config/topology.properties
new file mode 100644 (file)
index 0000000..5ca252f
--- /dev/null
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright © 2017-2019 AT&T Intellectual Property.
+# Modifications Copyright © 2018 IBM.
+# 
+# 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.
+# 
+# 
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         https://creativecommons.org/licenses/by/4.0/
+# 
+# Unless required by applicable law or agreed to in writing, documentation
+# 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.
+#-------------------------------------------------------------------------------
diff --git a/cmso-robot/docker/cmso-service/cmso-topology/etc/startJacocoService.sh b/cmso-robot/docker/cmso-service/cmso-topology/etc/startJacocoService.sh
new file mode 100644 (file)
index 0000000..0db6f1f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+apt update
+apt install wget
+apt install unzip  --assume-yes
+wget http://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2.jar
+unzip org.jacoco.agent-0.8.2.jar
+cp org.jacoco.agent-0.8.2/jacocoagent.jar .
+ls -l
+
+VM_ARGS="${VM_ARGS} -javaagent:./jacocoagent.jar=destfile=/share/logs/jacoco.exec,dumponexit=true,jmx=true,append=true,output=file,includes=org.onap.optf.cmso.*"
+
+echo "VM_ARGS=${VM_ARGS}"
+
+java -Djava.security.egd=file:/dev/./urandom -Xms256m -Xmx1024m ${VM_ARGS} -jar ./app.jar
index 44f7c27..5c2f173 100644 (file)
@@ -11,39 +11,92 @@ services:
     ports:
       - "8806:3306"
 
-  db-init:
+  db-init-svc:
     image: onap/optf-cmso-dbinit
     volumes:
-      - "../etc:/share/etc:rw"
-      - "../logs:/share/logs:rw"
+      - "./cmso-service/etc:/share/etc:rw"
+      - "./cmso-service/logs:/share/logs:rw"
     depends_on:
       - mariadb
     environment: 
       - DB_HOST=mariadb
     entrypoint: "bash -x /share/etc/startDbinitService.sh"
 
+  db-init-opt:
+    image: onap/optf-cmso-dbinit
+    volumes:
+      - "./cmso-optimizer/etc:/share/etc:rw"
+      - "./cmso-optimizer/logs:/share/logs:rw"
+    depends_on:
+      - mariadb
+    environment: 
+      - DB_HOST=mariadb
+    entrypoint: "bash -x /share/etc/startDbinitService.sh"
+
+
   cmso-service:
     image: onap/optf-cmso-service
     volumes:
-      - "../etc:/share/etc:rw"
-      - "../logs:/share/logs:rw"
-      - "../debug-logs:/share/debug-logs:rw"
+      - "./cmso-service/etc:/share/etc:rw"
+      - "./cmso-service/logs:/share/logs:rw"
+      - "./cmso-service/debug-logs:/share/debug-logs:rw"
     depends_on:
-      - db-init
+      - db-init-svc
     entrypoint: "bash -x /share/etc/startJacocoService.sh"
     ports:
       - "8080:8080"
     environment: 
       - DB_HOST=mariadb
+      - OPTIMIZER_URL=http://cmso-optimizer:7997/optimizer/v1/optimize/schedule
+      - OPTIMIZER_HEALTH_URL=http://cmso-optimizer:7997/optimizer/v1/health?checkInterfaces=true
+
+  cmso-ticketmgt:
+    image: onap/optf-cmso-ticketmgt
+    volumes:
+      - "./cmso-ticketmgt/etc:/share/etc:rw"
+      - "./cmso-ticketmgt/logs:/share/logs:rw"
+      - "./cmso-ticketmgt/debug-logs:/share/debug-logs:rw"
+    entrypoint: "bash -x /share/etc/startJacocoService.sh"
+    ports:
+      - "7999:7999"
+
+  cmso-topology:
+    image: onap/optf-cmso-topology
+    volumes:
+      - "./cmso-topology/etc:/share/etc:rw"
+      - "./cmso-topology/logs:/share/logs:rw"
+      - "./cmso-topology/debug-logs:/share/debug-logs:rw"
+    entrypoint: "bash -x /share/etc/startJacocoService.sh"
+    ports:
+      - "7998:7998"
+
+  cmso-optimizer:
+    image: onap/optf-cmso-optimizer
+    volumes:
+      - "./cmso-optimizer/etc:/share/etc:rw"
+      - "./cmso-optimizer/logs:/share/logs:rw"
+      - "./cmso-optimizer/debug-logs:/share/debug-logs:rw"
+    depends_on:
+      - db-init-opt
+    entrypoint: "bash -x /share/etc/startJacocoService.sh"
+    ports:
+      - "7997:7997"
+    environment: 
+      - DB_HOST=mariadb
+      - TOPOLOGY_HOST=cmso-topology
+      - TICKETMGT_HOST=cmso-ticketmgt
+
 
   cmso-robot:
     image: onap/optf-cmso-robot
     volumes:
-      - "../logs:/share:rw"
+      - "./cmso-robot/logs:/share:rw"
     depends_on:
       - cmso-service
     environment:
       - GLOBAL_SCHEDULER_URL=http://cmso-service:8080
+      - GLOBAL_OPTIMIZER_URL=http://cmso-optimizer:7997
+      - CMSO_STARTUP_WAIT_TIME=600s
       - TAGS=-i ete
       - OUTPUT=-d /share
     working_dir: /opt/cmso-robot  
old mode 100644 (file)
new mode 100755 (executable)
index 0991b86..107c661
@@ -7,6 +7,8 @@ ROBOT_PATH=${ROBOT_PATH}:${ROBOT_HOME}/robot/locallibrary/cmsoUtils
 VARIABLE_FILES="${VARIABLE_FILES} -V ${ROBOT_HOME}/robot/assets/test_properties.py" 
 
 VARIABLES="${VARIABLES} -v GLOBAL_SCHEDULER_URL:${GLOBAL_SCHEDULER_URL}"
+VARIABLES="${VARIABLES} -v GLOBAL_OPTIMIZER_URL:${GLOBAL_OPTIMIZER_URL}"
+VARIABLES="${VARIABLES} -v CMSO_STARTUP_WAIT_TIME:${CMSO_STARTUP_WAIT_TIME}"
 
 HTTP_PROXY=
 HTTPS_PROXY=
index 74c5aed..38840ac 100644 (file)
@@ -18,6 +18,7 @@ GLOBAL_CALLBACK_PASSWORD = "onap-user"
 GLOBAL_APPLICATION_ID= "schedulertest"
 GLOBAL_CALLBACK_URL="http://localhost:8900/scheduler/v1/loopbacktest/vid"
 
+CMSO_STARTUP_WAIT_TIME="600s"
 
 
 
index c655c98..7794602 100644 (file)
@@ -10,7 +10,7 @@ Resource    ../resources/scheduler_common.robot
 *** Test Cases ***
 Wait For Healthy CMSO
     [Tags]   ete
-    Wait Until Keyword Succeeds   240s   30s   CMSO Health Check
+    Wait Until Keyword Succeeds   ${CMSO_STARTUP_WAIT_TIME}   30s   CMSO Health Check
     
 *** Keywords ***
 CMSO Health Check
index 3700d25..4081cc3 100644 (file)
                <version>1.0.1-SNAPSHOT</version>\r
        </parent>\r
 \r
-       <groupId>org.onap.optf.cmso</groupId>\r
+       <groupId>org.onap.optf.cmso.service</groupId>\r
        <artifactId>cmso-service</artifactId>\r
 \r
        <packaging>jar</packaging>\r
 \r
-       <name>cmso</name>\r
+       <name>cmso-service</name>\r
 \r
        <properties>\r
                <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>\r
index a426a82..553fe91 100644 (file)
@@ -27,7 +27,7 @@
 
        <packaging>jar</packaging>
 
-       <name>cmso</name>
+       <name>cmso-topology</name>
 
        <properties>
                <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
                                        <apiVersion>1.23</apiVersion>
                                        <images>
                                                <image>
-                                                       <name>onap/optf-cmso-tciketmgt</name>
-                                                       <alias>onap-optf-cmso-tciketmgt</alias>
+                                                       <name>onap/optf-cmso-topology</name>
+                                                       <alias>onap-optf-cmso-topology</alias>
                                                        <build>
                                                                <cleanup>true</cleanup>
                                                                <tags>