From f344afa4b2b3c009823fb4895f22c9f839f1dbb0 Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Mon, 25 Mar 2019 16:04:58 +0100 Subject: Allow HV-VES tests to be run locally Change-Id: Id81e209c03486354a60b26c4fe426071080198f0 Signed-off-by: Jakub Dudycz Issue-ID: DCAEGEN2-1369 --- plans/dcaegen2-collectors-hv-ves/testsuites/.env | 33 ----------------- .../testsuites/docker-compose.yml | 20 +++++----- plans/dcaegen2-collectors-hv-ves/testsuites/env.sh | 42 +++++++++++++++++++++ .../testsuites/env_local.sh | 43 ++++++++++++++++++++++ .../dcaegen2-collectors-hv-ves/testsuites/setup.sh | 16 +++----- .../testsuites/teardown.sh | 18 +++++++++ 6 files changed, 118 insertions(+), 54 deletions(-) delete mode 100644 plans/dcaegen2-collectors-hv-ves/testsuites/.env create mode 100755 plans/dcaegen2-collectors-hv-ves/testsuites/env.sh create mode 100755 plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh (limited to 'plans/dcaegen2-collectors-hv-ves/testsuites') diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/.env b/plans/dcaegen2-collectors-hv-ves/testsuites/.env deleted file mode 100644 index e0286167..00000000 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/.env +++ /dev/null @@ -1,33 +0,0 @@ -# ============LICENSE_START======================================================= -# dcaegen2-collectors-veshv -# ================================================================================ -# Copyright (C) 2018-2019 NOKIA -# ================================================================================ -# 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========================================================= - -HV_VES_COLLECTOR_NAMESPACE=onap -HV_VES_GROUP_ID=org.onap.dcaegen2.collectors.hv-ves -HV_VES_IMAGE=hv-collector-main -DCAE_APP_SIMULATOR_IMAGE=hv-collector-dcae-app-simulator - -# IF CHANGING BELOW VALUE, REMEMBER TO UPDATE ALSO XNF-SIMULATOR VERSION -# IN XNF_SIMULATOR_LIBRARY PYTHON FILE. -HV_VES_VERSION=1.1-SNAPSHOT - -HV_VES_HEALTHCHECK_CMD=curl --request GET --fail --silent --show-error localhost:6060/health/ready && nc -vz localhost 6061 - -JAVA_OPTS=-Dio.netty.leakDetection.level=paranoid -CONSUL_HOST=consul-server -CONFIG_BINDING_SERVICE=config-binding-service -HV_VES_HOSTNAME=dcae-hv-ves-collector \ No newline at end of file diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml index bc7105ec..1d34e9f8 100644 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml @@ -19,7 +19,7 @@ version: "3" networks: - ves-hv-default: + hv-ves-default: external: name: $CONTAINERS_NETWORK @@ -34,7 +34,7 @@ services: ports: - "2181:2181" networks: - - ves-hv-default + - hv-ves-default kafka: image: wurstmeister/kafka @@ -50,7 +50,7 @@ services: depends_on: - zookeeper networks: - - ves-hv-default + - hv-ves-default # # Consul / CBS @@ -63,7 +63,7 @@ services: volumes: - ./consul/:/consul/config networks: - - ves-hv-default + - hv-ves-default config-binding-service: image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4 @@ -74,13 +74,13 @@ services: depends_on: - consul-server networks: - - ves-hv-default + - hv-ves-default # # DCAE HV VES Collector # - ves-hv-collector: + hv-ves-collector: image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${HV_VES_IMAGE}:${HV_VES_VERSION} ports: - "6060:6060" @@ -102,9 +102,9 @@ services: - config-binding-service - kafka networks: - - ves-hv-default + - hv-ves-default - unencrypted-ves-hv-collector: + unencrypted-hv-ves-collector: image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${HV_VES_IMAGE}:${HV_VES_VERSION} ports: - "7060:6060" @@ -126,7 +126,7 @@ services: - config-binding-service - kafka networks: - - ves-hv-default + - hv-ves-default dcae-app-simulator: image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${DCAE_APP_SIMULATOR_IMAGE}:${HV_VES_VERSION} @@ -141,5 +141,5 @@ services: depends_on: - kafka networks: - - ves-hv-default + - hv-ves-default diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh new file mode 100755 index 00000000..bbb54932 --- /dev/null +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# csit-dcaegen2-collectors-hv-ves +# ================================================================================ +# Copyright (C) 2019 NOKIA +# ================================================================================ +# 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========================================================= + +# using WORKSPACE variable defined in run-csit.sh +export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/libraries" + +export JAVA_OPTS="-Dio.netty.leakDetection.level=paranoid" +export CONSUL_HOST="consul-server" +export CONFIG_BINDING_SERVICE="config-binding-service" + +export DOCKER_REGISTRY="nexus3.onap.org:10001" +export DOCKER_REGISTRY_PREFIX="${DOCKER_REGISTRY}/" +export CONTAINERS_NETWORK="hv-ves-default" +export HV_VES_SERVICE_NAME="hv-ves-collector" +export UNENCRYPTED_HV_VES_SERVICE_NAME="unencrypted-hv-ves-collector" + +export HV_VES_GROUP_ID="org.onap.dcaegen2.collectors.hv-ves" +export HV_VES_HOSTNAME="dcae-hv-ves-collector" +export HV_VES_COLLECTOR_NAMESPACE="onap" +export HV_VES_HEALTHCHECK_CMD=$(curl --request GET --fail --silent --show-error localhost:6060/health/ready && nc -vz localhost 6061) +export HV_VES_VERSION="1.1-SNAPSHOT" +export HV_VES_IMAGE="hv-collector-main" +export DCAE_APP_SIMULATOR_IMAGE="hv-collector-dcae-app-simulator" +export XNF_SIMULATOR_IMAGE="hv-ves-collector-xnf-simulator" + + diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh new file mode 100755 index 00000000..afe8a542 --- /dev/null +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# csit-dcaegen2-collectors-hv-ves +# ================================================================================ +# Copyright (C) 2019 NOKIA +# ================================================================================ +# 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========================================================= + +export WORKSPACE=$(git rev-parse --show-toplevel) +export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/libraries" + +export JAVA_OPTS="-Dio.netty.leakDetection.level=paranoid" +export CONSUL_HOST="consul-server" +export CONFIG_BINDING_SERVICE="config-binding-service" + +export DOCKER_REGISTRY="docker.io" +export DOCKER_REGISTRY_PREFIX="" +export CONTAINERS_NETWORK="hv-ves-default" +export HV_VES_SERVICE_NAME="hv-ves-collector" +export UNENCRYPTED_HV_VES_SERVICE_NAME="unencrypted-hv-ves-collector" + +export HV_VES_GROUP_ID="org.onap.dcaegen2.collectors.hv-ves" +export HV_VES_HOSTNAME="dcae-hv-ves-collector" +export HV_VES_COLLECTOR_NAMESPACE="onap" +export HV_VES_HEALTHCHECK_CMD=$(curl --request GET --fail --silent --show-error localhost:6060/health/ready && nc -vz localhost 6061) +export HV_VES_VERSION="latest" +export HV_VES_IMAGE="hv-collector-main" +export DCAE_APP_SIMULATOR_IMAGE="hv-collector-dcae-app-simulator" +export XNF_SIMULATOR_IMAGE="hv-ves-collector-xnf-simulator" + + + diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/setup.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/setup.sh index 34baae8e..06eaf543 100755 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/setup.sh +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/setup.sh @@ -19,14 +19,13 @@ set -euo pipefail -if [[ $# -eq 1 ]] && [[ $1 == "local-test-run" ]]; then +RUN_CSIT_LOCAL=${RUN_CSIT_LOCAL:-false} + +if ${RUN_CSIT_LOCAL} ; then echo "Building locally - assuming all dependencies are installed" - export DOCKER_REGISTRY="" - export DOCKER_REGISTRY_PREFIX="" - export WORKSPACE=$(git rev-parse --show-toplevel) + source env_local.sh else echo "Default run - install all dependencies" - pip uninstall -y docker-py pip install docker @@ -34,15 +33,12 @@ else 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} - - export DOCKER_REGISTRY="nexus3.onap.org:10001" - export DOCKER_REGISTRY_PREFIX="${DOCKER_REGISTRY}/" + source env.sh fi 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} @@ -53,5 +49,3 @@ cd ../.. docker-compose up -d mkdir -p ${WORKSPACE}/archives/containers_logs - -export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/libraries" diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/teardown.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/teardown.sh index ec392154..787f811e 100755 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/teardown.sh +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/teardown.sh @@ -17,17 +17,35 @@ # limitations under the License. # ============LICENSE_END========================================================= +RUN_CSIT_LOCAL=${RUN_CSIT_LOCAL:-false} + cd collector/ssl ./gen-certs.sh clean cd ../.. +if ${RUN_CSIT_LOCAL} ; then + echo "Tearing down local setup" + source env_local.sh +else + echo "Tearing down" + source env.sh +fi + +set +e + COMPOSE_LOGS_FILE=${WORKSPACE}/archives/containers_logs/docker-compose.log docker-compose logs > ${COMPOSE_LOGS_FILE} docker-compose down docker-compose rm -f +echo "Stopping leftover containers" +LEFTOVER_CONTAINERS=$(docker ps -aqf network=${CONTAINERS_NETWORK} | awk '{print $1}') +docker stop ${LEFTOVER_CONTAINERS} +docker rm ${LEFTOVER_CONTAINERS} docker network rm ${CONTAINERS_NETWORK} +set -e + if grep "LEAK:" ${COMPOSE_LOGS_FILE}; then echo "WARNING: Memory leak detected in docker-compose logs." fi -- cgit 1.2.3-korg