X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=robot-systest%2Frun_test.sh;h=b7bf29b856228473ccc313e138dbeec2d8e70322;hb=b731aaccb1bc7041b55fe4801e26177f0e3c6cbe;hp=a279ff04af3f6042a67d8b604deefc4ad13150a6;hpb=9fc2b84c815dbadf688a28b9ae0ca710ca71a9cd;p=osm%2Ftests.git diff --git a/robot-systest/run_test.sh b/robot-systest/run_test.sh index a279ff0..b7bf29b 100755 --- a/robot-systest/run_test.sh +++ b/robot-systest/run_test.sh @@ -28,8 +28,14 @@ install_osmclient(){ download_packages(){ echo -e "\nDownloading packages ${PACKAGES}" rm -rf ${PACKAGES_FOLDER} - git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER} && (cd ${PACKAGES_FOLDER} && \ - git checkout ${PACKAGES}) + git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER} +} + +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/requirements.txt } create_vim(){ @@ -40,34 +46,79 @@ create_vim(){ osm vim-create --name ${VIM_TARGET} --user ${OS_USERNAME} --password ${OS_PASSWORD} --tenant ${OS_PROJECT_NAME} \ --auth_url ${OS_AUTH_URL} --account_type openstack --description vim \ --config "{management_network_name: ${VIM_MGMT_NET}, dataplane_physical_net: ${DATAPLANE:-physnet2}}" || true - STATUS="PROCESSING" + STATUS="" i=0 while [[ ${STATUS} != "ENABLED" ]] do ((i++)) if [[ $i -eq 5 ]]; then - echo "VIM stuck in PROCESSING after 50 seconds" - osm vim-delete ${VIM_TARGET} + echo "VIM stuck for more than 50 seconds as: ${VIM_LIST}" + osm vim-delete --force ${VIM_TARGET} sleep 5 break fi sleep 10 - STATUS=`osm vim-list --long | grep ${VIM_TARGET} | awk '{print $9}'` + VIM_LIST=`osm vim-list --long | grep ${VIM_TARGET}` + echo VIM status: ${VIM_LIST} + STATUS=`echo ${VIM_LIST} | grep -io ENABLED` done if [[ ${STATUS} = "ENABLED" ]] ; then break fi ((attempts--)) done - if [ $attempts -lt 0 ] ; then echo "VIM failed to enter ENABLED state" exit 1 fi + if [ -n "${SDNC_URL}" ]; then + osm sdnc-create --name sdnc-osm --type ${SDNC_TYPE} --user ${SDNC_USER} --password ${SDNC_PASSWORD} --url ${SDNC_URL} + COUNTER=0 + STATUS="" + while [ ${COUNTER} -lt 5 ] ; do + echo "Checking status of SDNC sdnc-osm to see if it is enabled" + STATUS=$(osm sdnc-show sdnc-osm |grep -io ENABLED) + if [ "${STATUS}" == "ENABLED" ]; then + break + fi + ((COUNTER++)) + sleep 10 + done + if [ "${STATUS}" == "ENABLED" ]; then + echo "SDNC enabled" + else + echo "SDNC failed to enter ENABLED state" + osm sdnc-show sdnc-osm + exit 1 + fi + if [ -f /root/port-mapping.yaml ]; then + osm vim-update ${VIM_TARGET} --sdn_controller sdnc-osm --sdn_port_mapping /root/port-mapping.yaml + COUNTER2=0 + RESULT="" + while [ ${COUNTER2} -lt 5 ] ; do + echo "Checking status of VIM $VIM_TARGET to see if there is port-mapping" + osm vim-show $VIM_TARGET |grep sdn-port-mapping + if [ $? -eq 0 ]; then + RESULT="OK" + break + fi + ((COUNTER2++)) + sleep 10 + done + if [ "${RESULT}" == "OK" ]; then + echo "Port-mapping correctly added" + else + echo "Port-mapping failed to be added" + osm vim-show ${VIM_TARGET} + exit 1 + fi + fi + fi } PARAMS="" +RUN_CONFORMANCE_TESTS=false while (( "$#" )); do case "$1" in @@ -87,6 +138,11 @@ while (( "$#" )); do create_vim shift 1 ;; + -T) + NFV_TESTS_BRANCH=$2 && download_tst010 + RUN_CONFORMANCE_TESTS=true + shift 1 + ;; -h|--help) echo "OSM TESTS TOOL @@ -103,7 +159,8 @@ Options: --env-file: It is the environmental file where is described the OSM target and VIM -o [OPTIONAL]: It is used to specify a particular osmclient version. Default: latest -p [OPTIONAL]: OSM packages repository branch. Default: master - -t [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanity + -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 Volumes: @@ -131,6 +188,11 @@ if [[ -n "$BRANCH_NAME" ]]; then OSMCLIENT=$BRANCH_NAME && install_osmclient fi + +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"