From 03591ab4f63d6a95b9fc03fdf14ea10bc1d3c94c Mon Sep 17 00:00:00 2001 From: Bartosz Gardziejewski Date: Tue, 29 Sep 2020 13:50:12 +0200 Subject: [PATCH] Fixing CSIT tests for vnfsdk-refrepo and vnfsdk-marketplace. Signed-off-by: Bartosz Gardziejewski Change-Id: I75e2181d2bb1c70c80ab6f4f51eb8190bec7faa7 Issue-ID: VNFSDK-659 --- .../testsuites/docker-compose.yml | 43 +++++++ .../enterprise2DC.csar | Bin .../testsuites}/setup.sh | 28 +++-- .../{sanity-check => testsuites}/teardown.sh | 5 +- .../{sanity-check => testsuites}/testplan.txt | 0 .../{sanity-check => testsuites}/uploadCSAR.sh | 0 .../vnfsdk-refrepo/sanity-check/enterprise2DC.csar | Bin 4622 -> 0 bytes plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh | 138 --------------------- plans/vnfsdk-refrepo/testsuites/setup.sh | 43 +++++++ .../{sanity-check => testsuites}/teardown.sh | 4 +- .../{sanity-check => testsuites}/testplan.txt | 2 +- .../setup.sh => scripts/get-docker-network-ip.sh | 18 +-- tests/vnfsdk-refrepo/csar_validation_tests.robot | 18 +++ 13 files changed, 126 insertions(+), 173 deletions(-) create mode 100644 plans/vnfsdk-marketplace/testsuites/docker-compose.yml rename plans/vnfsdk-marketplace/{sanity-check => testsuites}/enterprise2DC.csar (100%) rename plans/{vnfsdk-refrepo/sanity-check => vnfsdk-marketplace/testsuites}/setup.sh (57%) rename plans/vnfsdk-marketplace/{sanity-check => testsuites}/teardown.sh (93%) rename plans/vnfsdk-marketplace/{sanity-check => testsuites}/testplan.txt (100%) rename plans/vnfsdk-marketplace/{sanity-check => testsuites}/uploadCSAR.sh (100%) delete mode 100644 plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar delete mode 100644 plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh create mode 100644 plans/vnfsdk-refrepo/testsuites/setup.sh rename plans/vnfsdk-refrepo/{sanity-check => testsuites}/teardown.sh (96%) rename plans/vnfsdk-refrepo/{sanity-check => testsuites}/testplan.txt (61%) rename plans/vnfsdk-marketplace/sanity-check/setup.sh => scripts/get-docker-network-ip.sh (59%) mode change 100644 => 100755 create mode 100644 tests/vnfsdk-refrepo/csar_validation_tests.robot diff --git a/plans/vnfsdk-marketplace/testsuites/docker-compose.yml b/plans/vnfsdk-marketplace/testsuites/docker-compose.yml new file mode 100644 index 00000000..f1bb90c5 --- /dev/null +++ b/plans/vnfsdk-marketplace/testsuites/docker-compose.yml @@ -0,0 +1,43 @@ +# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2020 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. + +version: '2' +networks: + default: + driver: bridge + driver_opts: + com.docker.network.driver.mtu: ${NETWORK_DRIVER_MTU} + +services: + postgres: + container_name: "postgres" + restart: "always" + image: "nexus3.onap.org:10001/onap/vnfsdk/refrepo/postgres:${POSTGRES_IMAGE_TAG}" + mem_limit: "1g" + memswap_limit: "1g" + ports: + - "5432:5432" + + refrepo: + container_name: "refrepo" + restart: "always" + image: "nexus3.onap.org:10001/onap/vnfsdk/refrepo:${REFREPO_IMAGE_TAG}" + ports: + - "8702-8703:8702-8703" + - "50051:50051" + environment: + POSTGRES_SERVICE_HOST: postgres + links: + - postgres diff --git a/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar b/plans/vnfsdk-marketplace/testsuites/enterprise2DC.csar similarity index 100% rename from plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar rename to plans/vnfsdk-marketplace/testsuites/enterprise2DC.csar diff --git a/plans/vnfsdk-refrepo/sanity-check/setup.sh b/plans/vnfsdk-marketplace/testsuites/setup.sh similarity index 57% rename from plans/vnfsdk-refrepo/sanity-check/setup.sh rename to plans/vnfsdk-marketplace/testsuites/setup.sh index ed39d678..a30a682c 100644 --- a/plans/vnfsdk-refrepo/sanity-check/setup.sh +++ b/plans/vnfsdk-marketplace/testsuites/setup.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,25 +16,28 @@ # limitations under the License. # # These scripts are sourced by run-csit.sh. -VNFSDK_REFREPO_DOCKER_VERSION=1.3-STAGING-latest -#Start postgres database -docker run -d -i -t --name=postgres -p 5432:5432 nexus3.onap.org:10001/onap/vnfsdk/refrepo/postgres:latest +REFREPO_IMAGE_TAG=1.6.0-STAGING-latest \ +POSTGRES_IMAGE_TAG=latest \ +NETWORK_DRIVER_MTU=1450 \ +docker-compose up -d -POSTGRES=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' postgres` - -#Start market place -docker run -d -i -t --name=refrepo -e POSTGRES_SERVICE_HOST=$POSTGRES -p 8702:8702 nexus3.onap.org:10001/onap/vnfsdk/refrepo:$VNFSDK_REFREPO_DOCKER_VERSION +DOCKER_IP=`get-docker-network-ip.sh` # Wait for Market place initialization echo Wait for VNF Repository initialization -for i in {1..30}; do - sleep 1 +# Active waiting with healthcheck and max retry count +MAX_RETRY=30 +TRY=1 +while (( $(curl -s -o /dev/null -w ''%{http_code}'' ${DOCKER_IP}:8702/onapapi/vnfsdk-marketplace/v1/PackageResource/healthcheck) != 200 )) && (($TRY < $MAX_RETRY)); do + sleep 4 + TRY=$[$TRY+1] done -REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' refrepo` - +# Get refrepo logs for easier debug in case of failure +docker logs refrepo +REFREPO_IP=`get-instance-ip.sh refrepo` # Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REPO_IP:${REPO_IP}" +ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REPO_IP:${REFREPO_IP}" echo ${ROBOT_VARIABLES} diff --git a/plans/vnfsdk-marketplace/sanity-check/teardown.sh b/plans/vnfsdk-marketplace/testsuites/teardown.sh similarity index 93% rename from plans/vnfsdk-marketplace/sanity-check/teardown.sh rename to plans/vnfsdk-marketplace/testsuites/teardown.sh index 42d7b7fd..1bf79225 100644 --- a/plans/vnfsdk-marketplace/sanity-check/teardown.sh +++ b/plans/vnfsdk-marketplace/testsuites/teardown.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,6 +17,4 @@ # # This script is sourced by run-csit.sh after Robot test completion. - -kill-instance.sh vnfmarket - +docker-compose down diff --git a/plans/vnfsdk-marketplace/sanity-check/testplan.txt b/plans/vnfsdk-marketplace/testsuites/testplan.txt similarity index 100% rename from plans/vnfsdk-marketplace/sanity-check/testplan.txt rename to plans/vnfsdk-marketplace/testsuites/testplan.txt diff --git a/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh b/plans/vnfsdk-marketplace/testsuites/uploadCSAR.sh similarity index 100% rename from plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh rename to plans/vnfsdk-marketplace/testsuites/uploadCSAR.sh diff --git a/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar b/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar deleted file mode 100644 index 0960b20aa880ac5fbd5f1e2547d9cce5dae5e6bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4622 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 HR0Z&VgP`|z diff --git a/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh b/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh deleted file mode 100644 index 279912c3..00000000 --- a/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env bash -############################################################################### -# Copyright 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. -############################################################################### -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo $SCRIPT_DIR - -#CHECK IF MSB_ADDR IS GIVEN IN COMMAND -if [ -z "$1" ] -then - echo "There is no MSB_ADDR" - exit 1 -fi -MSB_ADDR=$1 -CSAR_NAME=$2 -echo $MSB_ADDR -echo $CSAR_NAME - -# Wait for MSB initialization -echo Wait for MSB initialization -for i in {1..20}; do - curl -sS -m 1 $MSB_ADDR > /dev/null && break - sleep $i -done -#MSB initialized -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -############UOLOAD PACKAGE to MARKET PLACE###################### -echo -echo "############## UOLOAD PACKAGE to MARKET PLACE STARTED ##############"; -UploadPackageResponse=$(curl -sS -X POST -H "Content-Type: multipart/form-data;" -F "file=@$CSAR_NAME" http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars) -if echo "$UploadPackageResponse" | grep -q "\"csarId\""; then - echo "UOLOAD PACKAGE TO MARKET PLACE SUCSSS !!!"; -else - echo "UploadPackageResponse :$UploadPackageResponse" - echo "UOLOAD PACKAGE TO MARKET PLACE FAILED !!!"; - exit 1; -fi -UploadCsarId=$(echo ${UploadPackageResponse:11:36}) -echo "PACKAGE ID:$UploadCsarId" -echo "############## UOLOAD PACKAGE to MARKET PLACE END ##################"; -#######UOLOAD PACKAGE to MARKET PLACE END############# -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -################GET ON BOARD STATUS######## -echo -echo "####################### GETTING ON-BOARDING STATUS ##################"; -#sleeping for 10 sec so thate ON Boarding operation should be happened at backend -for pc in $(seq 1 10); do - status=$((${pc}*10)); - echo -ne "ON_BOARDING Status (%): $status\033[0K\r" - sleep 1 -done -echo - -#Three Retries for getting On Boarding Result -#count=0 -#while [ $count -lt 3 ] -#do -# OnBoardStatusResponse=$(curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/onboardstatus?operTypeId=functiontest&operId=functestexec" -H "Accept: application/json" -H "Content-Type: application/json") -# echo $OnBoardStatusResponse -# if echo "$OnBoardStatusResponse" | grep -q "\"status\":0"; then -# break; -# else -# if [ $count -eq 3 ] -# then -# echo "ON-BOARDING OPERATION FAILED !!!"; -# fi -# count=`expr $count + 1`; -# sleep 3; -# fi -#done -echo "GET ON-BOARDING RESULT OPERATION SUCESS "; -echo "##################### GETTING ON-BOARDING STATUS END #################"; -####################GET ON BOARD STATUS END############ -########################################## -########################################## -########################################## -########################################## -########################################## -#################DOWNLOAD PACKAGE######### -echo -echo "############## DOWNLOADED PACKAGE FROM MARKET STARTED #################"; -PACKAGE_NAME=market_temp.csar -curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/files" > $PACKAGE_NAME -fileSize=$(du -b $PACKAGE_NAME | cut -f 1) -if [ $fileSize -eq 0 ] -then - echo "DOWNLOADED PACKAGE FROM MARKET NOT PROPER, ON-BOARDING OPERATION FAILED !!!"; - exit 1; -fi -echo "DOWNLOADED PACKAGE FROM MARKET OPERATION SUCESS !!!"; -echo "MARKET PACKAGE NAME:$PACKAGE_NAME" -echo "##################### DOWNLOADED PACKAGE FROM MARKET ##################"; -###################DOWNLOAD PACKAGE END##################### -########################################## -########################################## -########################################## -########################################## -##########CATALOUGE START################# -echo -PACKAGE_NAME=$CSAR_NAME -#Check if common-tosca-catalog is registered with MSB or not -#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/catalog/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" -#check if common-tosca-aria is registered with MSB or not -#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/tosca/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" -#echo Sending POST request to Catalog -CsarIdString=$(curl -sS -X POST -H "Content-Type: multipart/form-data; boundary=-WebKitFormBoundary7MA4YWxkTrZu0gW" -H "Cache-Control: no-cache" -H "Postman-Token: abcb6497-b225-c592-01be-e9ff460ca188" -F "file=@$PACKAGE_NAME" http://$MSB_ADDR/openoapi/catalog/v1/csars) -#getting csarId from the output of curl request -CsarId=$(echo ${CsarIdString:11:36}) -echo $CsarId -echo $CsarIdString -#csarid is sucessfully stored in CsarId variable -echo "====finished======" -##########CATALOUGE END############ -echo "DELETING PACAKE LOCAL COPY:$PACKAGE_NAME"; -#rm $PACKAGE_NAME; diff --git a/plans/vnfsdk-refrepo/testsuites/setup.sh b/plans/vnfsdk-refrepo/testsuites/setup.sh new file mode 100644 index 00000000..094943ac --- /dev/null +++ b/plans/vnfsdk-refrepo/testsuites/setup.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 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. +# +# These scripts are sourced by run-csit.sh. + +VNFSDK_REFREPO_DOCKER_VERSION=1.6.0-STAGING-latest + +#Start market place +docker run -d -i -t --name refrepo -p 8702:8702 nexus3.onap.org:10001/onap/vnfsdk/refrepo:$VNFSDK_REFREPO_DOCKER_VERSION +DOCKER_IP=`get-docker-network-ip.sh` + +# Wait for Market place initialization +echo Wait for VNF Repository initialization +# Active waiting with healthcheck and max retry count +MAX_RETRY=30 +TRY=1 +while (( $(curl -s -o /dev/null -w ''%{http_code}'' ${DOCKER_IP}:8702/onapapi/vnfsdk-marketplace/v1/PackageResource/healthcheck) != 200 )) && (($TRY < $MAX_RETRY)); do + sleep 4 + TRY=$[$TRY+1] +done + +REFREPO_IP=`get-instance-ip.sh refrepo` + +# Get refrepo logs for easier debug in case of failure +docker logs refrepo + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REFREPO_IP:${REFREPO_IP}" +echo ${ROBOT_VARIABLES} diff --git a/plans/vnfsdk-refrepo/sanity-check/teardown.sh b/plans/vnfsdk-refrepo/testsuites/teardown.sh similarity index 96% rename from plans/vnfsdk-refrepo/sanity-check/teardown.sh rename to plans/vnfsdk-refrepo/testsuites/teardown.sh index 19440bc7..f7c57113 100644 --- a/plans/vnfsdk-refrepo/sanity-check/teardown.sh +++ b/plans/vnfsdk-refrepo/testsuites/teardown.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,8 +17,5 @@ # # This script is sourced by run-csit.sh after Robot test completion. - kill-instance.sh refrepo -kill-instance.sh postgres - diff --git a/plans/vnfsdk-refrepo/sanity-check/testplan.txt b/plans/vnfsdk-refrepo/testsuites/testplan.txt similarity index 61% rename from plans/vnfsdk-refrepo/sanity-check/testplan.txt rename to plans/vnfsdk-refrepo/testsuites/testplan.txt index b5370f38..bc6629d6 100644 --- a/plans/vnfsdk-refrepo/sanity-check/testplan.txt +++ b/plans/vnfsdk-refrepo/testsuites/testplan.txt @@ -1,3 +1,3 @@ ## Test suites are relative paths under [integration/csit.git]/tests/. ## Place the suites in run order. -vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot +vnfsdk-refrepo/csar_validation_tests.robot diff --git a/plans/vnfsdk-marketplace/sanity-check/setup.sh b/scripts/get-docker-network-ip.sh old mode 100644 new mode 100755 similarity index 59% rename from plans/vnfsdk-marketplace/sanity-check/setup.sh rename to scripts/get-docker-network-ip.sh index 85c6bc27..383decd7 --- a/plans/vnfsdk-marketplace/sanity-check/setup.sh +++ b/scripts/get-docker-network-ip.sh @@ -1,6 +1,5 @@ #!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,18 +12,5 @@ # 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. -# -# These scripts are sourced by run-csit.sh. - - - -#Start market place -docker run -d -i -t --name=vnfmarket -p 8702:8702 onap/vnfmarket - -REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' vnfmarket` - - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}" - +ip a | grep docker | grep inet | awk '{print $2}' | awk -F'/' '{print $1}' diff --git a/tests/vnfsdk-refrepo/csar_validation_tests.robot b/tests/vnfsdk-refrepo/csar_validation_tests.robot new file mode 100644 index 00000000..88075c6f --- /dev/null +++ b/tests/vnfsdk-refrepo/csar_validation_tests.robot @@ -0,0 +1,18 @@ +*** Settings *** +Library OperatingSystem +Library Process +Library String +Library Collections +Library RequestsLibrary +Library json + + +*** Variables *** +${base_url}= http://${REFREPO_IP}:8702/onapapi/vnfsdk-marketplace/v1 + +*** Test Cases *** +Perform vnf refrepo healthcheck + [Documentation] Check if vnf refrepo is up and running + Create Session refrepo ${base_url} + ${response}= Get Request refrepo /PackageResource/healthcheck + Should Be Equal As Strings ${response.status_code} 200 -- 2.16.6