aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql5
-rw-r--r--cmso-optimizer/etc/config/optimizer.properties4
-rw-r--r--cmso-optimizer/pom.xml14
-rw-r--r--cmso-optimizer/scripts/minizinc/run.bat1
-rw-r--r--cmso-optimizer/scripts/minizinc/run.sh1
-rw-r--r--cmso-optimizer/src/main/docker/Dockerfile19
-rw-r--r--cmso-optimizer/src/main/docker/assembly/cmso-files.xml7
-rw-r--r--cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java57
-rw-r--r--cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java2
-rw-r--r--cmso-robot/.project18
-rw-r--r--cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/cadi.properties21
-rw-r--r--cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/liquibase.properties43
-rw-r--r--cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/optimizer.properties54
-rwxr-xr-x[-rw-r--r--]cmso-robot/docker/cmso-service/cmso-optimizer/etc/startDbinitService.sh (renamed from cmso-robot/docker/etc/startDbinitService.sh)2
-rw-r--r--cmso-robot/docker/cmso-service/cmso-optimizer/etc/startJacocoService.sh (renamed from cmso-robot/docker/etc/startJacocoService.sh)0
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/config/cadi.properties21
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/config/cmso.properties (renamed from cmso-robot/docker/etc/config/cmso.properties)4
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/config/liquibase.properties (renamed from cmso-robot/docker/etc/config/liquibase.properties)0
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/config/optimizer.properties (renamed from cmso-robot/docker/etc/config/optimizer.properties)6
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/config/ticketmgt.properties (renamed from cmso-robot/docker/etc/config/ticketmgt.properties)0
-rwxr-xr-xcmso-robot/docker/cmso-service/cmso-service/etc/startDbinitService.sh17
-rw-r--r--cmso-robot/docker/cmso-service/cmso-service/etc/startJacocoService.sh14
-rw-r--r--cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/cadi.properties21
-rw-r--r--cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/ticketmgt.properties30
-rw-r--r--cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/startJacocoService.sh14
-rw-r--r--cmso-robot/docker/cmso-service/cmso-topology/etc/config/cadi.properties4
-rw-r--r--cmso-robot/docker/cmso-service/cmso-topology/etc/config/topology.properties30
-rw-r--r--cmso-robot/docker/cmso-service/cmso-topology/etc/startJacocoService.sh14
-rw-r--r--cmso-robot/docker/cmso-service/docker-compose.yml69
-rwxr-xr-x[-rw-r--r--]cmso-robot/ete.sh2
-rw-r--r--cmso-robot/robot/assets/test_properties.py1
-rw-r--r--cmso-robot/robot/testsuites/AAAwait_for_server.robot2
-rw-r--r--cmso-service/pom.xml4
-rw-r--r--cmso-topology/pom.xml6
34 files changed, 447 insertions, 60 deletions
diff --git a/cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql b/cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql
index 2f6aafb..639a030 100644
--- a/cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql
+++ b/cmso-database/src/main/resources/cmso-dbchangelog/onap-cmso-v1.1-add-uuid.sql
@@ -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;
diff --git a/cmso-optimizer/etc/config/optimizer.properties b/cmso-optimizer/etc/config/optimizer.properties
index 641bbeb..653d21b 100644
--- a/cmso-optimizer/etc/config/optimizer.properties
+++ b/cmso-optimizer/etc/config/optimizer.properties
@@ -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
diff --git a/cmso-optimizer/pom.xml b/cmso-optimizer/pom.xml
index 2ede9e7..fa27b8e 100644
--- a/cmso-optimizer/pom.xml
+++ b/cmso-optimizer/pom.xml
@@ -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>
@@ -385,8 +385,8 @@
<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>
@@ -466,6 +466,14 @@
<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
index 0000000..dc40503
--- /dev/null
+++ b/cmso-optimizer/scripts/minizinc/run.bat
@@ -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
index 0000000..690c281
--- /dev/null
+++ b/cmso-optimizer/scripts/minizinc/run.sh
@@ -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/src/main/docker/Dockerfile b/cmso-optimizer/src/main/docker/Dockerfile
index 9ef42ab..fde2caf 100644
--- a/cmso-optimizer/src/main/docker/Dockerfile
+++ b/cmso-optimizer/src/main/docker/Dockerfile
@@ -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
diff --git a/cmso-optimizer/src/main/docker/assembly/cmso-files.xml b/cmso-optimizer/src/main/docker/assembly/cmso-files.xml
index 2e3f19e..cf96a35 100644
--- a/cmso-optimizer/src/main/docker/assembly/cmso-files.xml
+++ b/cmso-optimizer/src/main/docker/assembly/cmso-files.xml
@@ -44,6 +44,13 @@
<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>
<includes>
diff --git a/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java b/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java
index 3147bc5..9f2f8e6 100644
--- a/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java
+++ b/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/clients/optimizer/OptimizerClient.java
@@ -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;
}
diff --git a/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java b/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java
index 80deaaf..bc7ce52 100644
--- a/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java
+++ b/cmso-optimizer/src/main/java/org/onap/optf/cmso/optimizer/service/rs/HealthCheckImpl.java
@@ -103,4 +103,6 @@ public class HealthCheckImpl implements HealthCheck {
return hcc;
}
+
+
}
diff --git a/cmso-robot/.project b/cmso-robot/.project
index 356fc8a..174d170 100644
--- a/cmso-robot/.project
+++ b/cmso-robot/.project
@@ -6,6 +6,11 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
@@ -15,9 +20,22 @@
<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
index 0000000..9a6b91c
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/cadi.properties
@@ -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
index 0000000..fcda8bd
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/liquibase.properties
@@ -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
index 0000000..babc736
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/config/optimizer.properties
@@ -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
diff --git a/cmso-robot/docker/etc/startDbinitService.sh b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/startDbinitService.sh
index e6d6d9f..a7cd3ff 100644..100755
--- a/cmso-robot/docker/etc/startDbinitService.sh
+++ b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/startDbinitService.sh
@@ -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/etc/startJacocoService.sh b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/startJacocoService.sh
index 0db6f1f..0db6f1f 100644
--- a/cmso-robot/docker/etc/startJacocoService.sh
+++ b/cmso-robot/docker/cmso-service/cmso-optimizer/etc/startJacocoService.sh
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
index 0000000..9a6b91c
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/config/cadi.properties
@@ -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/etc/config/cmso.properties b/cmso-robot/docker/cmso-service/cmso-service/etc/config/cmso.properties
index 00bd326..3602577 100644
--- a/cmso-robot/docker/etc/config/cmso.properties
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/config/cmso.properties
@@ -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
diff --git a/cmso-robot/docker/etc/config/liquibase.properties b/cmso-robot/docker/cmso-service/cmso-service/etc/config/liquibase.properties
index b8c850e..b8c850e 100644
--- a/cmso-robot/docker/etc/config/liquibase.properties
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/config/liquibase.properties
diff --git a/cmso-robot/docker/etc/config/optimizer.properties b/cmso-robot/docker/cmso-service/cmso-service/etc/config/optimizer.properties
index b222d7b..f0d4651 100644
--- a/cmso-robot/docker/etc/config/optimizer.properties
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/config/optimizer.properties
@@ -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/etc/config/ticketmgt.properties b/cmso-robot/docker/cmso-service/cmso-service/etc/config/ticketmgt.properties
index bfdaec6..bfdaec6 100644
--- a/cmso-robot/docker/etc/config/ticketmgt.properties
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/config/ticketmgt.properties
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
index 0000000..a7cd3ff
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/startDbinitService.sh
@@ -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
index 0000000..0db6f1f
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-service/etc/startJacocoService.sh
@@ -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
index 0000000..9a6b91c
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/cadi.properties
@@ -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
index 0000000..5ca252f
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/config/ticketmgt.properties
@@ -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ā?);
+# 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
index 0000000..0db6f1f
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-ticketmgt/etc/startJacocoService.sh
@@ -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
index 0000000..5135d1d
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-topology/etc/config/cadi.properties
@@ -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
index 0000000..5ca252f
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-topology/etc/config/topology.properties
@@ -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ā?);
+# 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
index 0000000..0db6f1f
--- /dev/null
+++ b/cmso-robot/docker/cmso-service/cmso-topology/etc/startJacocoService.sh
@@ -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/docker-compose.yml b/cmso-robot/docker/cmso-service/docker-compose.yml
index 44f7c27..5c2f173 100644
--- a/cmso-robot/docker/cmso-service/docker-compose.yml
+++ b/cmso-robot/docker/cmso-service/docker-compose.yml
@@ -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
diff --git a/cmso-robot/ete.sh b/cmso-robot/ete.sh
index 0991b86..107c661 100644..100755
--- a/cmso-robot/ete.sh
+++ b/cmso-robot/ete.sh
@@ -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=
diff --git a/cmso-robot/robot/assets/test_properties.py b/cmso-robot/robot/assets/test_properties.py
index 74c5aed..38840ac 100644
--- a/cmso-robot/robot/assets/test_properties.py
+++ b/cmso-robot/robot/assets/test_properties.py
@@ -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"
diff --git a/cmso-robot/robot/testsuites/AAAwait_for_server.robot b/cmso-robot/robot/testsuites/AAAwait_for_server.robot
index c655c98..7794602 100644
--- a/cmso-robot/robot/testsuites/AAAwait_for_server.robot
+++ b/cmso-robot/robot/testsuites/AAAwait_for_server.robot
@@ -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
diff --git a/cmso-service/pom.xml b/cmso-service/pom.xml
index 3700d25..4081cc3 100644
--- a/cmso-service/pom.xml
+++ b/cmso-service/pom.xml
@@ -33,12 +33,12 @@
<version>1.0.1-SNAPSHOT</version>
</parent>
- <groupId>org.onap.optf.cmso</groupId>
+ <groupId>org.onap.optf.cmso.service</groupId>
<artifactId>cmso-service</artifactId>
<packaging>jar</packaging>
- <name>cmso</name>
+ <name>cmso-service</name>
<properties>
<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
diff --git a/cmso-topology/pom.xml b/cmso-topology/pom.xml
index a426a82..553fe91 100644
--- a/cmso-topology/pom.xml
+++ b/cmso-topology/pom.xml
@@ -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>
@@ -370,8 +370,8 @@
<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>