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;
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
<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>
--- /dev/null
+%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
--- /dev/null
+${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
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
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
<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>
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;
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());
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()));
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;
}
<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>
--- /dev/null
+#-------------------------------------------------------------------------------
+# ============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
+
--- /dev/null
+###
+# Copyright (c) 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.
+###
+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
--- /dev/null
+#-------------------------------------------------------------------------------
+# ============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
#!/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
--- /dev/null
+#-------------------------------------------------------------------------------
+# ============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
+
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
# 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}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#-------------------------------------------------------------------------------
+# ============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
+
--- /dev/null
+#-------------------------------------------------------------------------------
+# 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.
+#-------------------------------------------------------------------------------
--- /dev/null
+#!/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
--- /dev/null
+
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
--- /dev/null
+#-------------------------------------------------------------------------------
+# 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.
+#-------------------------------------------------------------------------------
--- /dev/null
+#!/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
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
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=
GLOBAL_APPLICATION_ID= "schedulertest"
GLOBAL_CALLBACK_URL="http://localhost:8900/scheduler/v1/loopbacktest/vid"
+CMSO_STARTUP_WAIT_TIME="600s"
*** 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
<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
<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>