X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=csit%2Fplans%2Fcps%2Fsetup.sh;fp=csit%2Fplans%2Fdefault%2Fsetup.sh;h=2fc0ec48774d947db95bfaf76a50dfd90ca9ce79;hb=d181b0e51b6385105362c9b59239ab581cace45e;hp=e8074ddc0f299a3d83038ae785965f5c18466474;hpb=79456d8d3dd7390bb91f1a3ad107c8720c1e7def;p=cps.git diff --git a/csit/plans/default/setup.sh b/csit/plans/cps/setup.sh similarity index 53% rename from csit/plans/default/setup.sh rename to csit/plans/cps/setup.sh index e8074ddc0..2fc0ec487 100755 --- a/csit/plans/default/setup.sh +++ b/csit/plans/cps/setup.sh @@ -18,6 +18,7 @@ # Modifications copyright (c) 2020-2021 Samsung Electronics Co., Ltd. # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2021 Bell Canada. +# Modifications Copyright (C) 2021 Nordix Foundation. # # Branched from ccsdk/distribution to this repository Feb 23, 2021 # @@ -28,7 +29,11 @@ cp $WORKSPACE/../docker-compose/*.yml $WORKSPACE/archives/docker-compose cd $WORKSPACE/archives/docker-compose # Set env variables for docker compose -export DB_HOST=dbpostgresql +export LOCAL_IP=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+') +export DMI_SERVICE_URL=http://$LOCAL_IP:8783 +export DB_HOST=$LOCAL_IP +export SDNC_HOST=$LOCAL_IP +export CPS_CORE_HOST=$LOCAL_IP export DB_USERNAME=cps export DB_PASSWORD=cps # Use latest image version @@ -39,7 +44,62 @@ curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compos chmod +x docker-compose # start CPS and PostgreSQL containers with docker compose +docker network create test_network ./docker-compose up -d + +###################### setup sdnc ############################ +source $WORKSPACE/plans/cps/sdnc/sdnc_setup.sh + +###################### setup pnfsim ########################## +docker-compose -f $WORKSPACE/plans/cps/pnfsim/docker-compose.yml up -d + +# Allow time for netconf-pnp-simulator & SDNC to come up fully +sleep 30s + +SDNC_TIME_OUT=250 +SDNC_INTERVAL=10 +SDNC_TIME=0 + +while [ "$SDNC_TIME" -le "$SDNC_TIME_OUT" ]; do + + # Mount netconf node + + curl --location --request PUT 'http://'"$LOCAL_IP"':8282/restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo' \ + --header 'Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==' \ + --header 'Content-Type: application/json' \ + --data-raw '{ + "node": [ + { + "node-id": "PNFDemo", + "netconf-node-topology:protocol": { + "name": "TLS" + }, + "netconf-node-topology:host": '"$LOCAL_IP"', + "netconf-node-topology:key-based": { + "username": "netconf", + "key-id": "ODL_private_key_0" + }, + "netconf-node-topology:port": 6512, + "netconf-node-topology:tcp-only": false, + "netconf-node-topology:max-connection-attempts": 5 + } + ] + }' + + # Verify node has been mounted + + RESPONSE=$( curl --location --request GET 'http://'"$LOCAL_IP"':8282/restconf/config/network-topology:network-topology/topology/topology-netconf' --header 'Authorization: basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==') + + if [[ "$RESPONSE" == *"PNFDemo"* ]]; then + echo "Node mounted in $SDNC_TIME" + break; + fi + + sleep $SDNC_INTERVAL + SDNC_TIME=$((SDNC_TIME + SDNC_INTERVAL)) + +done + # Validate CPS service initialization completed via periodic log checking for line like below: # org.onap.cps.Application ... Started Application in X.XXX seconds @@ -65,12 +125,5 @@ if [ "$TIME" -gt "$TIME_OUT" ]; then exit 1; fi -# The CPS host according to docker-compose.yml -CPS_HOST="localhost" -CPS_PORT="8883" - -MANAGEMENT_PORT="8887" - # Pass variables required for Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v CPS_HOST:$CPS_HOST -v CPS_PORT:$CPS_PORT -v MANAGEMENT_PORT:$MANAGEMENT_PORT -v DATADIR:$WORKSPACE/data" - +ROBOT_VARIABLES="-v CPS_HOST:$LOCAL_IP -v CPS_PORT:8883 -v DMI_HOST:$LOCAL_IP -v DMI_PORT:8783 -v MANAGEMENT_PORT:8887 -v DATADIR:$WORKSPACE/data" \ No newline at end of file