X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=robot-systest%2Frun_test.sh;h=d4d5e975a6dfde01d5e2ce1f68975b7702e6c642;hb=4a94affec35c3d9624c1c1574036d8b02bcbc8e7;hp=75cd0d45755563c61c5e86e079ca33b1f6d541ae;hpb=f47542be165ebd69b91945041697181b4df63954;p=osm%2Ftests.git diff --git a/robot-systest/run_test.sh b/robot-systest/run_test.sh index 75cd0d4..d4d5e97 100755 --- a/robot-systest/run_test.sh +++ b/robot-systest/run_test.sh @@ -34,11 +34,45 @@ download_packages(){ download_tst010(){ # Fetch conformance tests git clone --single-branch --branch ${NFV_TESTS_BRANCH} https://forge.etsi.org/rep/nfv/api-tests.git /robot-systest/conformance-tests/repo - python3 -m pip install -r /robot-systest/conformance-tests/repo/requirements.txt + #python3 -m pip install -r /robot-systest/conformance-tests/repo/requirements.txt + python3 -m pip install -r /robot-systest/conformance-tests/requirements.txt } -create_vim(){ +create_k8scluster(){ + attempts=3 + while [ $attempts -ge 0 ] ; do + echo -e "\n$( date '+%F_%H:%M:%S' ) Creating K8s Cluster" + + osm k8scluster-add --creds ${K8S_CREDENTIALS} --version "v1" --vim ${VIM_TARGET} --k8s-nets "{\"net1\": \"${VIM_MGMT_NET}\"}" ${VIM_TARGET} --description "Robot cluster" + + STATUS="" + i=0 + while [[ ${STATUS} != "ENABLED" ]] + do + ((i++)) + if [[ $i -eq 5 ]]; then + echo "K8s cluster stuck for more than 50 seconds:" + osm k8scluster-show ${VIM_TARGET} + osm k8scluster-delete ${VIM_TARGET} + sleep 5 + break + fi + sleep 10 + STATUS=`osm k8scluster-list | grep ${VIM_TARGET} | awk '{print $8}'` + done + if [[ ${STATUS} = "ENABLED" ]] ; then + break + fi + ((attempts--)) + done + if [ $attempts -lt 0 ] ; then + echo "K8s cluster failed to enter ENABLED state" + exit 1 + fi +} + +create_vim(){ attempts=3 while [ $attempts -ge 0 ] ; do echo -e "\n$( date '+%F_%H:%M:%S' ) Creating VIM ${VIM_TARGET}" @@ -135,6 +169,7 @@ while (( "$#" )); do ;; -c|--createvim) create_vim + create_k8scluster shift 1 ;; -T) @@ -150,7 +185,6 @@ Usage: -v :/reports osmtests \\ -v :/robot-systest/clouds.yaml \\ -v :/root/.kube/config \\ - -v :/root/.local/share/juju \\ -o \\ -p \\ -t @@ -161,13 +195,12 @@ Options: -p [OPTIONAL]: OSM packages repository branch. Default: master -t [OPTIONAL]: Robot tests tags. [sanity, daily, regression, particular_test]. Default: sanity -T [OPTIONAL]: Run SOL005 Robot conformance tests - -c To create a VIM for the tests + -c To create a VIM and K8s cluster for the tests Volumes: [OPTIONAL]: It is the absolute path to reports location in the host [OPTIONAL]: It is the absolute path to the clouds.yaml file in the host - [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters - [OPTIONAL]: It is the jujudata file to be used for juju cli" + [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters" exit 0 ;; @@ -194,17 +227,10 @@ if [ "$RUN_CONFORMANCE_TESTS" = true ] ; then python3 ${ROBOT_DEVOPS_FOLDER}/conformance-tests/run_conformance_tests.py fi -if [[ -z "${TEST}" ]]; then - printf "Test not provided. \nRunning default test: sanity\n" - TEST="sanity" -fi - if [[ -n "${TEST}" ]]; then robot -d ${ROBOT_DEVOPS_FOLDER}/reports -i ${TEST} ${ROBOT_DEVOPS_FOLDER}/testsuite/ - exit 0 else - echo "Wrong test provided" - exit 1 + echo "No test was provided. Exiting..." fi -exit 1 +exit 0