summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml72
-rwxr-xr-xtest/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh40
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile32
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md18
-rwxr-xr-xtest/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh11
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt4
-rw-r--r--test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap2
-rwxr-xr-xtest/csit/scripts/optf-has/has/has_script.sh4
-rwxr-xr-xtest/csit/scripts/optf-has/has/music_script.sh6
-rw-r--r--test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot0
-rw-r--r--test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot4
-rw-r--r--test/csit/tests/optf-has/has/optf_has_test.robot1
12 files changed, 190 insertions, 4 deletions
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml b/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml
new file mode 100644
index 000000000..28cded8cb
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml
@@ -0,0 +1,72 @@
+version: "3"
+
+networks:
+ ves-hv-default:
+ external:
+ name: $CONTAINERS_NETWORK
+
+services:
+ zookeeper:
+ image: wurstmeister/zookeeper
+ ports:
+ - "2181:2181"
+ networks:
+ - ves-hv-default
+
+ kafka:
+ image: wurstmeister/kafka
+ ports:
+ - "9092:9092"
+ environment:
+ KAFKA_ADVERTISED_HOST_NAME: "kafka"
+ KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
+ KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
+ KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka:9092"
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ depends_on:
+ - zookeeper
+ networks:
+ - ves-hv-default
+
+ consul:
+ image: progrium/consul
+ ports:
+ - "8500:8500"
+ environment:
+ - CONSUL_BIND_INTERFACE=eth0
+ networks:
+ ves-hv-default:
+ aliases:
+ - consul
+ command: ["-server", "-bootstrap"]
+
+ ves-hv-collector:
+ image: $DOCKER_REGISTRY/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main
+ ports:
+ - "6061:6061/tcp"
+ entrypoint: ["java", "-Dio.netty.leakDetection.level=paranoid", "-cp", "*:", "org.onap.dcae.collectors.veshv.main.MainKt"]
+ command: ["--listen-port", "6061","--config-url", "http://consul:8500/v1/kv/veshv-config"]
+ depends_on:
+ - kafka
+ volumes:
+ - ./ssl/:/etc/ves-hv/
+ networks:
+ - ves-hv-default
+
+ dcae-app-simulator:
+ image: $DOCKER_REGISTRY/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
+ ports:
+ - "6063:6063/tcp"
+ command: ["--listen-port", "6063", "--kafka-bootstrap-servers", "kafka:9092", "--kafka-topics", "ves_hvRanMeas"]
+ healthcheck:
+ interval: 10s
+ timeout: 5s
+ retries: 2
+ test: ["CMD", "curl", "--request", "GET", "--fail", "--silent", "--show-error", "localhost:6063/healthcheck"]
+ depends_on:
+ - kafka
+ networks:
+ ves-hv-default:
+ aliases:
+ - dcae-app-simulator \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh b/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh
new file mode 100755
index 000000000..48e39807f
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+pip uninstall -y docker-py
+pip install docker
+
+COMPOSE_VERSION=1.22.0
+COMPOSE_LOCATION='/usr/local/bin/docker-compose'
+sudo curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m) -o ${COMPOSE_LOCATION}
+sudo chmod +x ${COMPOSE_LOCATION}
+
+
+echo "Removing not used docker networks"
+docker network prune -f
+
+export CONTAINERS_NETWORK=ves-hv-default
+echo "Creating network for containers: ${CONTAINERS_NETWORK}"
+docker network create ${CONTAINERS_NETWORK}
+
+cd ssl
+make FILE=client
+make FILE=server
+make FILE=invalid_client CA=invalid_trust
+cd ..
+
+export DOCKER_REGISTRY="nexus3.onap.org:10001"
+CURRENT_DIR=${PWD##*/}
+VES_HV_CONTAINER_NAME=ves-hv-collector
+
+# little race condition between container start-up and required files copying below
+docker-compose up -d
+
+COMPOSE_VES_HV_CONTAINER_NAME=${CURRENT_DIR}_${VES_HV_CONTAINER_NAME}_1
+echo "COPY tls authorization files to container: ${COMPOSE_VES_HV_CONTAINER_NAME}"
+docker cp ssl/. ${COMPOSE_VES_HV_CONTAINER_NAME}:/etc/ves-hv
+# race condition end
+
+
+export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/test/csit/tests/dcaegen2/hv-ves-testcases/libraries" \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile
new file mode 100644
index 000000000..5fddc6b1d
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile
@@ -0,0 +1,32 @@
+FILE=sample
+CA_PASSWD=onap
+SUBJ=/C=PL/ST=DL/L=Wroclaw/O=Nokia/OU=MANO
+CA=trust
+
+sign: $(FILE).crt
+
+clean:
+ rm -f *.crt *.key *.srl *.csr
+
+generate-ca-certificate: $(CA).crt
+
+generate-private-key: $(FILE).key
+
+create-public-key: $(FILE).pub
+
+create-sign-request: $(FILE).csr
+
+$(CA).crt:
+ openssl req -new -x509 -keyout $(CA).key -out $(CA).crt -days 365 -passout pass:$(CA_PASSWD) -subj "$(SUBJ)"
+
+$(FILE).key:
+ openssl genpkey -algorithm RSA -out $(FILE).key -pkeyopt rsa_keygen_bits:2048
+
+$(FILE).pub: $(FILE).key
+ openssl x509 -req -days 360 -in client.csr -CA $(CA).crt -CAkey $(CA).key -CAcreateserial -out client.crt
+
+$(FILE).csr: $(FILE).key
+ openssl req -new -sha256 -key $(FILE).key -out $(FILE).csr -subj "$(SUBJ)"
+
+$(FILE).crt: $(CA).crt $(FILE).csr
+ openssl x509 -req -days 360 -in $(FILE).csr -CA $(CA).crt -CAkey $(CA).key -out $(FILE).crt -CAcreateserial -passin pass:$(CA_PASSWD) \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md
new file mode 100644
index 000000000..174c16641
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md
@@ -0,0 +1,18 @@
+# Generating SSL certificates
+
+Typical usage:
+
+```shell
+make FILE=client
+make FILE=server
+```
+
+Will generate CA certificate and signed client and server certificates.
+
+More "low-level" usage:
+
+```shell
+make generate-ca-certificate
+make generate-private-key FILE=client
+make sign FILE=client
+```
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh b/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh
new file mode 100755
index 000000000..91ad90305
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+cd ssl
+make clean
+cd ..
+
+docker-compose logs > ${WORKSPACE}/archives/docker-compose.log
+docker-compose down
+docker-compose rm -f
+
+docker network rm ${CONTAINERS_NETWORK} \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt b/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt
new file mode 100644
index 000000000..3f4f14806
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dcaegen2/hv-ves-testcases
+
diff --git a/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap b/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
index a8e84846c..1f644264b 100644
--- a/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
+++ b/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
@@ -252,7 +252,7 @@ music_new_version = True
# Base URL for Music REST API without a trailing slash. (string value)
server_url = http://localhost:8080/MUSIC/rest/v2
version = v2
-music_version = "2.4.22"
+music_version = "3.0.3"
aafuser = conductor
aafpass = c0nduct0r
aafns = conductor
diff --git a/test/csit/scripts/optf-has/has/has_script.sh b/test/csit/scripts/optf-has/has/has_script.sh
index ee5479e10..08bf0bcb0 100755
--- a/test/csit/scripts/optf-has/has/has_script.sh
+++ b/test/csit/scripts/optf-has/has/has_script.sh
@@ -63,6 +63,10 @@ echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}"
sed -i -e "s%msb.onap.org:8082/%${MULTICLOUDSIM_IP}:8082/%g" /tmp/conductor/properties/conductor.conf
#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 "Onboard conductor into music"
curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" --data @${WORKSPACE}/test/csit/tests/optf-has/has/data/onboard.json
docker run -d --name cond-cont -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf
diff --git a/test/csit/scripts/optf-has/has/music_script.sh b/test/csit/scripts/optf-has/has/music_script.sh
index fdd9a3e26..1e978c2f9 100755
--- a/test/csit/scripts/optf-has/has/music_script.sh
+++ b/test/csit/scripts/optf-has/has/music_script.sh
@@ -51,10 +51,10 @@ docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001"
CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db`
echo "CASSANDRA_IP=${CASSA_IP}"
${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${CASSA_IP} 9042
-
+sleep 60
# Start Music war
docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG};
-
+sleep 15
# Start Zookeeper
docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG};
#ZOO_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-zk`
@@ -80,7 +80,7 @@ echo "TOMCAT_IP=${TOMCAT_IP}"
${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${TOMCAT_IP} 8080
# wait a while to make sure music is totally up and configured
-sleep 10
+sleep 60
echo "inspect docker things for tracing purpose"
docker inspect music-db
diff --git a/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot b/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot
diff --git a/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot b/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot
new file mode 100644
index 000000000..36093f449
--- /dev/null
+++ b/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot
@@ -0,0 +1,4 @@
+*** Test Cases ***
+Initial testcase
+ [Documentation] Testing tests setup script
+ Log Robot framework execution successful \ No newline at end of file
diff --git a/test/csit/tests/optf-has/has/optf_has_test.robot b/test/csit/tests/optf-has/has/optf_has_test.robot
index 815ffa850..deba6470e 100644
--- a/test/csit/tests/optf-has/has/optf_has_test.robot
+++ b/test/csit/tests/optf-has/has/optf_has_test.robot
@@ -115,6 +115,7 @@ Get Root Url
Log To Console response = ${resp}
Log To Console body = ${resp.text}
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