diff options
-rw-r--r-- | conductor/conductor/controller/service.py | 18 | ||||
-rwxr-xr-x | csit/plans/default/setup.sh | 10 | ||||
-rwxr-xr-x | csit/plans/default/teardown.sh | 4 | ||||
-rw-r--r-- | csit/scripts/etcd_script.sh | 46 | ||||
-rw-r--r-- | csit/scripts/etcd_teardown_script.sh | 25 | ||||
-rw-r--r-- | csit/scripts/has-properties/conductor.conf.onap | 30 | ||||
-rwxr-xr-x | csit/scripts/has_script.sh | 25 | ||||
-rwxr-xr-x | csit/scripts/has_teardown_script.sh | 8 | ||||
-rw-r--r-- | csit/scripts/music-properties/log4j.properties | 3 | ||||
-rw-r--r-- | csit/scripts/music-properties/music.properties | 17 | ||||
-rw-r--r-- | csit/scripts/music/cql/admin.cql | 34 | ||||
-rw-r--r-- | csit/scripts/music/cql/admin_pw.cql | 2 | ||||
-rw-r--r-- | csit/scripts/music/cql/extra/test.cql | 1 | ||||
-rwxr-xr-x | csit/scripts/music_script.sh | 173 | ||||
-rwxr-xr-x | csit/scripts/music_teardown_script.sh | 61 | ||||
-rw-r--r-- | csit/tests/has/optf_has_test.robot | 58 |
16 files changed, 140 insertions, 375 deletions
diff --git a/conductor/conductor/controller/service.py b/conductor/conductor/controller/service.py index 01ffe40..e970b65 100644 --- a/conductor/conductor/controller/service.py +++ b/conductor/conductor/controller/service.py @@ -86,6 +86,8 @@ class ControllerServiceLauncher(object): if not self.OrderLock: raise + self.insert_healthcheck_plan() + def run(self): transport = messaging.get_transport(self.conf) if transport: @@ -108,3 +110,19 @@ class ControllerServiceLauncher(object): workers=self.conf.controller.workers, args=(self.conf,), kwargs=kwargs) svcmgr.run() + + def insert_healthcheck_plan(self): + healthcheck_plan = { + "id": "healthcheck", + "created": 1479482603641, + "message": "", + "name": "foo", + "recommend_max": "1", + "solution": "{\"healthcheck\": \" healthcheck\"}", + "status": "solved", + "template": "{\"healthcheck\": \"healthcheck\"}", + "timeout": 3600, + "translation": "{\"healthcheck\": \" healthcheck\"}", + "updated": 1484324150629 + } + self.music.row_create(self.conf.keyspace, "plans", "id", "healthcheck", healthcheck_plan) diff --git a/csit/plans/default/setup.sh b/csit/plans/default/setup.sh index b6ddc76..4f0a95a 100755 --- a/csit/plans/default/setup.sh +++ b/csit/plans/default/setup.sh @@ -18,11 +18,10 @@ echo "# aaf-sms setup.sh script"; source ${WORKSPACE}/scripts/setup-sms.sh # -# add here eventual scripts needed for music +# Script for setting up etcd3 # -echo "# music scripts calling"; -source ${WORKSPACE}/scripts/music_script.sh - +echo "# etcd scripts calling"; +source ${WORKSPACE}/scripts/etcd_script.sh # echo "# simulator scripts calling"; @@ -49,9 +48,8 @@ echo "# optf/has configuration step"; # echo "# optf/has robot variables settings"; echo "conductor ip = ${COND_IP}" -echo "music ip = ${TOMCAT_IP}" -ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://${TOMCAT_IP} -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://${COND_IP} -v COND_PORT:8091" +ROBOT_VARIABLES="-v COND_HOSTNAME:http://${COND_IP} -v COND_PORT:8091" echo ${ROBOT_VARIABLES} diff --git a/csit/plans/default/teardown.sh b/csit/plans/default/teardown.sh index 6fcd753..a54099e 100755 --- a/csit/plans/default/teardown.sh +++ b/csit/plans/default/teardown.sh @@ -38,8 +38,8 @@ source ${WORKSPACE}/scripts/has_teardown_script.sh echo "# optf/has simulator scripts calling"; source ${WORKSPACE}/scripts/simulator_teardown_script.sh -echo "# optf/has music scripts calling"; -source ${WORKSPACE}/scripts/music_teardown_script.sh +echo "# optf/has etcd scripts calling"; +source ${WORKSPACE}/scripts/etcd_teardown_script.sh echo "# aaf-sms teardown.sh script"; #kill-instance.sh sms diff --git a/csit/scripts/etcd_script.sh b/csit/scripts/etcd_script.sh new file mode 100644 index 0000000..f78ded7 --- /dev/null +++ b/csit/scripts/etcd_script.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# +# ------------------------------------------------------------------------- +# Copyright (C) 2021 Wipro Limited. +# +# 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. +# +# ------------------------------------------------------------------------- +# + +echo "### This is ${WORKSPACE}/scripts/etcd_script.sh" + +NODE=0.0.0.0 + +REGISTRY=gcr.io/etcd-development/etcd + +VERSION=v3.4.15 + +docker run -d \ + -p 2379:2379 \ + -p 2380:2380 \ + --name etcd ${REGISTRY}:${VERSION} \ + /usr/local/bin/etcd \ + --data-dir=/etcd-data --name node1 \ + --initial-advertise-peer-urls http://${NODE}:2380 --listen-peer-urls http://0.0.0.0:2380 \ + --advertise-client-urls http://${NODE}:2379 --listen-client-urls http://0.0.0.0:2379 \ + --initial-cluster node1=http://${NODE}:2380 + +sleep 10 + +docker exec etcd /usr/local/bin/etcdctl user add root --new-user-password root +docker exec etcd /usr/local/bin/etcdctl user add conductor --new-user-password conductor +docker exec etcd /usr/local/bin/etcdctl role add conductor +docker exec etcd /usr/local/bin/etcdctl user grant-role conductor root +docker exec etcd /usr/local/bin/etcdctl auth enable diff --git a/csit/scripts/etcd_teardown_script.sh b/csit/scripts/etcd_teardown_script.sh new file mode 100644 index 0000000..a5c099c --- /dev/null +++ b/csit/scripts/etcd_teardown_script.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# +# ------------------------------------------------------------------------- +# Copyright (C) 2021 Wipro Limited. +# +# 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. +# +# ------------------------------------------------------------------------- +# + +echo "### This is ${WORKSPACE}/scripts/etcd_teardown_script.sh" + +docker stop etcd +docker rm etcd diff --git a/csit/scripts/has-properties/conductor.conf.onap b/csit/scripts/has-properties/conductor.conf.onap index b8b0a0a..15e3d76 100644 --- a/csit/scripts/has-properties/conductor.conf.onap +++ b/csit/scripts/has-properties/conductor.conf.onap @@ -351,7 +351,7 @@ extensions = aai,generator # Wait interval while checking for a message response. Default value is 1 # second. (integer value) # Minimum value: 1 -#check_interval = 1 +check_interval = 1 # Overall message response timeout. Default value is 120 seconds. (integer # value) @@ -369,7 +369,7 @@ extensions = aai,generator # Time between checking for new messages. Default value is 1. (integer value) # Minimum value: 1 -#polling_interval = 1 +polling_interval = 1 # Log debug messages. Default value is False. (boolean value) #debug = false @@ -401,6 +401,32 @@ certificate_authority_bundle_file = /usr/local/bin/AAF_RootCA.cer # Enabling HTTPs mode (boolean value) # enable_https_mode = <None> enable_https_mode = True + + +[db_options] + +# db_backend to use +db_backend = etcd + +# Use music mock api +music_mock = False + + +[etcd_api] + +# host/ip address of etcd server +host = etcd_ip + +# port of etcd server +port = 2379 + +# username for etcd authentication +username = conductor + +# password for etcd authentication +password = conductor + + [music_api] # diff --git a/csit/scripts/has_script.sh b/csit/scripts/has_script.sh index b33e1ab..b27e7b7 100755 --- a/csit/scripts/has_script.sh +++ b/csit/scripts/has_script.sh @@ -43,13 +43,14 @@ cp ${WORKSPACE}/scripts/has-properties/AAF_RootCA.cer /tmp/conductor/properties/ cp ${WORKSPACE}/scripts/has-properties/has.json /tmp/sms/properties/has.json #chmod -R 777 /tmp/conductor/properties -MUSIC_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` -echo "MUSIC_IP=${MUSIC_IP}" +ETCD_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' etcd` +echo "ETCD_IP=${ETCD_IP}" + SMS_IP=`${WORKSPACE}/scripts/get-instance-ip.sh sms` echo "SMS_IP=${SMS_IP}" -# change MUSIC reference to the local instance -sed -i -e "s%localhost:8080/MUSIC%${MUSIC_IP}:8080/MUSIC%g" /tmp/conductor/properties/conductor.conf +# change ETCD reference to the local instance +sed -i -e "s%etcd_ip%${ETCD_IP}%g" /tmp/conductor/properties/conductor.conf AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim` echo "AAISIM_IP=${AAISIM_IP}" @@ -85,11 +86,11 @@ docker exec --user root -i sms /bin/sh -c "/sms/bin/preload -cacert /sms/certs/a docker logs vault #onboard conductor into music -echo "Query MUSIC to check for reachability. Query Version" -curl -vvvvv --noproxy "*" --request GET http://${MUSIC_IP}:8080/MUSIC/rest/v2/version -H "Content-Type: application/json" +# echo "Query MUSIC to check for reachability. Query Version" +# curl -vvvvv --noproxy "*" --request GET http://${MUSIC_IP}:8080/MUSIC/rest/v2/version -H "Content-Type: application/json" -echo "Onboard conductor into music" -curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" --data @${WORKSPACE}/tests/has/data/onboard.json +# echo "Onboard conductor into music" +# curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" --data @${WORKSPACE}/tests/has/data/onboard.json docker run -d --name cond-cont --user root -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf sleep 15 @@ -112,7 +113,7 @@ docker inspect cond-api docker inspect cond-solv docker inspect cond-resv -echo "dump music content just after conductor is started" -docker exec music-db /usr/bin/nodetool status -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' +# echo "dump music content just after conductor is started" +# docker exec music-db /usr/bin/nodetool status +# docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' +# docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' diff --git a/csit/scripts/has_teardown_script.sh b/csit/scripts/has_teardown_script.sh index bef28b4..397164a 100755 --- a/csit/scripts/has_teardown_script.sh +++ b/csit/scripts/has_teardown_script.sh @@ -14,10 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # -echo "print meaningful data before scratching everything" -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM conductor.plans' +# echo "print meaningful data before scratching everything" +# docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' +# docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' +# docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM conductor.plans' echo "optf/has scripts docker containers killing"; docker stop cond-api diff --git a/csit/scripts/music-properties/log4j.properties b/csit/scripts/music-properties/log4j.properties deleted file mode 100644 index 1312e9b..0000000 --- a/csit/scripts/music-properties/log4j.properties +++ /dev/null @@ -1,3 +0,0 @@ -# No longer needed, please see the logback properties - - diff --git a/csit/scripts/music-properties/music.properties b/csit/scripts/music-properties/music.properties deleted file mode 100644 index 02fb52d..0000000 --- a/csit/scripts/music-properties/music.properties +++ /dev/null @@ -1,17 +0,0 @@ -my.public.ip=localhost -all.public.ips=localhost -my.id=0 -all.ids=0 -####################################### -# Optional current values are defaults -####################################### -zookeeper.host=music-zk -cassandra.host=music-db -#music.ip=localhost -#debug=true -#music.rest.ip=localhost -#lock.lease.period=6000 -cassandra.user=nelson24 -cassandra.password=winman123 - - diff --git a/csit/scripts/music/cql/admin.cql b/csit/scripts/music/cql/admin.cql deleted file mode 100644 index df13f32..0000000 --- a/csit/scripts/music/cql/admin.cql +++ /dev/null @@ -1,34 +0,0 @@ -CREATE KEYSPACE IF NOT EXISTS admin - WITH REPLICATION = { - 'class' : 'SimpleStrategy', - 'replication_factor': 1 - } - AND DURABLE_WRITES = true; - -CREATE TABLE IF NOT EXISTS admin.keyspace_master ( - uuid uuid, - keyspace_name text, - application_name text, - is_api boolean, - password text, - username text, - is_aaf boolean, - PRIMARY KEY (uuid) -); - -CREATE TABLE IF NOT EXISTS admin.notification_master ( - id uuid, - current_notifier text, - endpoint_password blob, - endpoint_userid text, - notify_delete_on text, - notify_insert_on text, - notify_to_endpoint text, - notify_update_on text, - notifyon text PRIMARY KEY, - request text -); - - - -describe keyspace admin; diff --git a/csit/scripts/music/cql/admin_pw.cql b/csit/scripts/music/cql/admin_pw.cql deleted file mode 100644 index 02de61e..0000000 --- a/csit/scripts/music/cql/admin_pw.cql +++ /dev/null @@ -1,2 +0,0 @@ -CREATE ROLE IF NOT EXISTS nelson24 WITH PASSWORD = 'winman123' AND SUPERUSER = True AND LOGIN = True; -ALTER ROLE cassandra WITH PASSWORD = 'SomeLongRandomStringNoonewillthinkof'; diff --git a/csit/scripts/music/cql/extra/test.cql b/csit/scripts/music/cql/extra/test.cql deleted file mode 100644 index 6a58720..0000000 --- a/csit/scripts/music/cql/extra/test.cql +++ /dev/null @@ -1 +0,0 @@ -DESCRIBE keyspace admin;
\ No newline at end of file diff --git a/csit/scripts/music_script.sh b/csit/scripts/music_script.sh deleted file mode 100755 index 878d717..0000000 --- a/csit/scripts/music_script.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "### This is ${WORKSPACE}/scripts/music_script.sh" -# -# add here whatever commands is needed to prepare the music setup for optf-has CSIT testing -# - -# -# add here all the configuration steps eventually needed to be carried out for music CSIT testing -# -echo "########## music configuration step ##########"; -CASS_IMG=nexus3.onap.org:10001/onap/music/cassandra_3_11:3.0.23 -CASS_IMG_JOB=nexus3.onap.org:10001/onap/music/cassandra_job:3.0.23 -TOMCAT_IMG=nexus3.onap.org:10001/library/tomcat:8.5 -ZK_IMG=nexus3.onap.org:10001/library/zookeeper:3.4 -BUSYBOX_IMG=nexus3.onap.org:10001/library/busybox:latest -MUSIC_IMG=nexus3.onap.org:10001/onap/music/music:3.0.23 -TT=10 -WORK_DIR=/tmp/music -CASS_USERNAME=nelson24 -CASS_PASSWORD=winman123 -MUSIC_SOURCE_PROPERTIES=${WORKSPACE}/scripts/music-properties -MUSIC_PROPERTIES=/tmp/music/properties -MUSIC_LOGS=/tmp/music/logs -CQL_FILES=${WORKSPACE}/scripts/music/cql -MUSIC_TRIGGER_DIR=/tmp/triggers -TRIGGER_JAR=musictrigger-0.1.0.jar -TRIGGER_JAR_URL=https://nexus.onap.org/service/local/repositories/autorelease-72298/content/org/onap/music/musictrigger/0.1.0/musictrigger-0.1.0.jar - -mkdir -p ${MUSIC_PROPERTIES} -mkdir -p ${MUSIC_LOGS} -mkdir -p ${MUSIC_LOGS}/MUSIC -mkdir -p /tmp/triggers - -# Get Trigger -echo "########## Get Trigger Jar ##########" -curl -o $MUSIC_TRIGGER_DIR/$TRIGGER_JAR $TRIGGER_JAR_URL - -cp ${MUSIC_SOURCE_PROPERTIES}/* ${WORK_DIR}/properties - -# Create Volume for mapping war file and tomcat -echo "########## create music-vol ##########" -docker volume create --name music-vol; - -# Create a network for all the containers to run in. -echo "########## create music-net ##########" -docker network create music-net; - -# Start Cassandra -echo "########## Start Cassandra (music-db) ##########" -docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001" -p "7199:7199" -p "9042:9042" -p "9160:9160" \ --v $MUSIC_TRIGGER_DIR/$TRIGGER_JAR:/etc/cassandra/triggers/$TRIGGER_JAR \ -${CASS_IMG}; - -# See if cassandra is up. -echo "########## Running Test to see if Cassandra is up ##########" -CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db` -echo "CASSANDRA_IP=${CASSA_IP}" -${WORKSPACE}/scripts/wait_for_port.sh ${CASSA_IP} 9042 - -# Sleep 60 seconds to ensure Cassandra is up and running. -sleep 60; - -# Check to see if Keyspaces are there. -docker exec music-db cqlsh -u cassandra -p cassandra -e "DESCRIBE keyspaces;" - -# Load data into Cassandra via Cassandra Job -echo "########## Running Cassandra Job (music-job) to load cql files ##########" -docker run -d --name music-job --network music-net \ --v $CQL_FILES/admin.cql:/cql/admin.cql \ --v $CQL_FILES/admin_pw.cql:/cql/admin_pw.cql \ --v $CQL_FILES/extra:/cql/extra \ --e PORT=9042 \ --e CASS_HOSTNAME=music-db \ --e USERNAME=$CASS_USERNAME \ --e PASSWORD=$CASS_PASSWORD \ -$CASS_IMG_JOB - -sleep 70; - -# Logs -echo "########## Cassandra Job logs ##########" -docker logs music-job -# Check to see if Keyspaces are there. -# "############## Check if new username and password work ##########" -docker exec music-db cqlsh -u $CASS_USERNAME -p $CASS_PASSWORD -e "DESCRIBE keyspaces;" -# Check to see if Keyspaces are there. -# "############## Check if original username and password work ##########" -docker exec music-db cqlsh -u cassandra -p cassandra -e "DESCRIBE keyspaces;" -# Check to see if Keyspaces are there. -# "############## Check if new cassandra username and password work ##########" -docker exec music-db cqlsh -u cassandra -p SomeLongRandomStringNoonewillthinkof -e "DESCRIBE keyspaces;" - - -# Start Music war -echo "########## Start music-war ##########" -docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG}; - -# Start Zookeeper -echo "########## Start zookeeper (music-zk) ##########" -docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG}; - -ZOO_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-zk` -echo "ZOOKEEPER_IP=${ZOO_IP}" - -# Delay between Cassandra/Zookeeper and Tomcat -sleep 120; - -# Start Up tomcat - Needs to have properties,logs dir and war file volume mapped. -echo "########## Start Tomcat (music-tomcat) ##########" -docker run -d --name music-tomcat --network music-net -p "8080:8080" -v music-vol:/usr/local/tomcat/webapps -v ${WORK_DIR}/properties:/opt/app/music/etc:ro -v ${WORK_DIR}/logs:/opt/app/music/logs ${TOMCAT_IMG}; - -# Connect tomcat to host bridge network so that its port can be seen. -echo "########## Create Bridge for Tomcat ##########" -docker network connect bridge music-tomcat; - -TOMCAT_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` -echo "TOMCAT_IP=${TOMCAT_IP}" - -${WORKSPACE}/scripts/wait_for_port.sh ${TOMCAT_IP} 8080 - -sleep 20; -echo "########## TOMCAT Logs ##########" -docker logs music-tomcat -# Needed only if we need to look at localhost logs. -echo "########## MUSIC localhost Log ##########" -docker exec music-tomcat /bin/bash -c "cat /usr/local/tomcat/logs/localhost*" - -echo "########## MUSIC Log ##########" -ls -al $MUSIC_LOGS/MUSIC -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/music.log" -#echo "########## MUSIC error log ##########" -#docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/error.log" - -echo "########## inspect docker things for tracing purpose ##########" -docker inspect music-db -docker inspect music-zk -docker inspect music-tomcat -docker inspect music-war -docker volume inspect music-vol -docker network inspect music-net - -echo "########## dump music content just after music is started ##########" -docker exec music-db /usr/bin/nodetool status -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'DESCRIBE keyspace admin' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' - - -# -# add here all ROBOT_VARIABLES settings -# -echo "########## music robot variables settings ##########"; -ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://${TOMCAT_IP} -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://localhost -v COND_PORT:8091" - -echo ${ROBOT_VARIABLES} - - - diff --git a/csit/scripts/music_teardown_script.sh b/csit/scripts/music_teardown_script.sh deleted file mode 100755 index 2e7d707..0000000 --- a/csit/scripts/music_teardown_script.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# - - -# -# add here below the killing of all docker containers used for music CSIT testing -# -echo "dump music.log files" -ls -alF /tmp/music -ls -alFR /tmp/music -ls -alF /tmp/music/properties -cat /tmp/music/properties/music.properties -echo "===== MUSIC log ==================" -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/music.log" -#cat /tmp/music/logs/MUSIC/music.log -echo "===== MUSIC error log ==================" -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/error.log" -#cat /tmp/music/logs/MUSIC/error.log - -echo "##########################################################"; -echo "#"; -echo "# music scripts docker containers killing"; -echo "#"; -echo "##########################################################"; -docker stop music-tomcat -docker stop music-war -docker stop music-zk -docker stop music-job -docker stop music-db - -docker rm music-zk -docker rm music-tomcat -docker rm music-war -docker rm music-job -docker rm music-db - -docker network rm music-net; -sleep 5; - -docker volume rm music-vol - -#rm -Rf /tmp/music - - - - - diff --git a/csit/tests/has/optf_has_test.robot b/csit/tests/has/optf_has_test.robot index 6085bce..413a571 100644 --- a/csit/tests/has/optf_has_test.robot +++ b/csit/tests/has/optf_has_test.robot @@ -20,51 +20,6 @@ ${generatedAID} ${resultStatus} *** Test Cases *** -Check Cassandra Docker Container - [Documentation] It checks cassandra docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-db - -Check Zookeeper Docker Container - [Documentation] It checks zookeeper docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-zk - -Check Tomcat Docker Container - [Documentation] It checks tomcat docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-tomcat - -Check Music War Docker Container - [Documentation] It checks music.war docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-war - -Get Music Version - [Documentation] It sends a REST GET request to retrieve the Music.war version - Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request musicaas /MUSIC/rest/v2/version headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 Check ConductorApi Docker Container [Documentation] It checks conductor-api docker container is running @@ -122,19 +77,6 @@ Get Root Url Should Be Equal As Integers ${resp.status_code} 200 Sleep 10s Wait For 10 seconds -Conductor AddHealthcheck Row Into Music - [Documentation] It sends a REST PUT request to Music to inject healthcheck plan - Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}healthcheck.json - &{headers}= Create Dictionary ns=conductor Authorization=${Music_Auth} userId=conductor password=c0nduct0r Content-Type=application/json Accept=application/json - ${resp}= Put Request musicaas /MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - Should Be Equal As Integers ${resp.status_code} 200 - Sleep 5s Wait Injection effectiveness - Healthcheck [Documentation] It sends a REST GET request to healthcheck url Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |