From cb75097bcd353161aa91fdbf420ec92d01e31ec1 Mon Sep 17 00:00:00 2001 From: demskeq8 Date: Wed, 2 Jun 2021 15:50:12 +0200 Subject: [SNDC-CSIT] Provide test deployment for SDNC/R Integration tests for wt feature set Issue-ID: SDNC-1562 Signed-off-by: demskeq8 Change-Id: If579b6f23b3e6291dc49b10952b23da2626e45b7 Former-commit-id: c15899f037944cabbcdee16460427b0f813599c3 --- csit/scripts/sdnr/sdnr-launch.sh | 152 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100755 csit/scripts/sdnr/sdnr-launch.sh (limited to 'csit/scripts/sdnr/sdnr-launch.sh') diff --git a/csit/scripts/sdnr/sdnr-launch.sh b/csit/scripts/sdnr/sdnr-launch.sh new file mode 100755 index 00000000..e79a6ada --- /dev/null +++ b/csit/scripts/sdnr/sdnr-launch.sh @@ -0,0 +1,152 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# ONAP : ccsdk feature sdnr wt +# ================================================================================ +# Copyright (C) 2021 highstreet technologies GmbH Intellectual Property. +# All rights reserved. +# ================================================================================ +# 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========================================================= +# +docker version +docker-compose version +# update installed docker compose version +sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose +sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose +which docker-compose +docker version +docker-compose version +# WA: no space left on device. +docker system prune -f -a + +if [[ -z $WORKSPACE ]]; then + CUR_PATH="`dirname \"$0\"`" # relative path + CUR_PATH="`( cd \"$CUR_PATH\" && pwd )`" # absolutized and normalized + if [ -z "$CUR_PATH" ] ; then + echo "Permission error!" + exit 1 + fi + + # define location of workpsace based on where the current script is + WORKSPACE=$(cd $CUR_PATH/../../ && pwd) +fi + +if [[ -z $SCRIPTS ]]; then + SCRIPTS=$(cd $WORKSPACE/scripts && pwd) +fi + +HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}') +SDNC_WEB_PORT=${SDNC_WEB_PORT:-8282} + +env_file="--env-file ${SCRIPTS}/sdnr/docker-compose/.env" +echo $env_file + +# Define sdnrdb type +# default: ESDB +# alternative: MARIADB +SDNRDB_TYPE="${SDNRDB_TYPE:-ESDB}" +if [[ "$SDNRDB_TYPE" == "ESDB" ]]; then + sdnrdb_compose_file="docker-compose-sdnrdb-elasticsearch.yaml" +else + sdnrdb_compose_file="docker-compose-sdnrdb-mariadb.yaml" +fi +docker ps -a + +function onap_dependent_components_launch() { + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-onap-addons.yaml pull + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-onap-addons.yaml up -d +} +function netconfserver_simulator_launch() { + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-netconfserver-simulator.yaml pull + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-netconfserver-simulator.yaml up -d +} + +function nts_manager_launch() { + # starts all ntsim managers defined in the csv file + ${SCRIPTS}/sdnr/docker-compose/nts-manager-launch.sh $1 +} + +function nts_networkfunctions_launch() { + # starts all ntsim networkfucntions defined in the csv file + ${SCRIPTS}/sdnr/docker-compose/nts-networkfunctions-launch.sh $1 +} + + +function sdnr_launch() { + #if [ -n "${CALLHOME}" ] ; then + #sdnrwtbootfeatures="-e SDNRWT_BOOTFEATURES=odl-netconf-callhome-ssh,sdnr-wt-feature-aggregator " + #callhomeport="-p ${CALL_HOME_PORT}:6666 " + #fi + if [ $SDNR_CLUSTER_MODE == "true" ]; then + sdnr_launch_cluster $1 + else + sdnr_launch_single_node $1 + fi + cd $WORKSPACE + ./getAllInfo.sh -c sdnr -kp +} + + +function sdnr_launch_single_node() { + + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + pull + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + up -d + for i in {1..50}; do + curl -sS -m 1 -D - ${HOST_IP}:8181/ready | grep 200 && break + echo sleep $i + sleep $i + if [ $i == 50 ]; then + echo "[ERROR] SDNC/R container not ready" + docker ps -a + # exit 1 + fi + done +} + +function sdnr_web_launch() { + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr-web.override.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + pull + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr-web.override.yaml \ + -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + up -d + for i in {1..50}; do + curl -sS -m 1 -D - ${HOST_IP}:${SDNC_WEB_PORT}/ready | grep 200 && break + echo sleep $i + sleep $i + done +} + +function sdnr_launch_cluster() { + # source ${SCRIPTS}/sdnr/sdnrEnv_Cluster.sh + SDNRDM="false" + [[ -n "$1" ]] && SDNRDM="true" && echo "SDNRDM arg detected - running in headless mode" + echo "SDNR being launched in Cluster mode" + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose/cluster-sdnr.yaml pull + docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose/cluster-sdnr.yaml up -d + # Wait for initialization of docker services. At the moment its the master SDNR node + HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}') + for i in {1..50}; do + curl -sS -m 1 -D - ${HOST_IP}:${ODLUXPORT}/ready | grep 200 && break + echo sleep $i + sleep $i + done +} -- cgit 1.2.3-korg