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" --skip-jujubundle
+
+ 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}"
;;
-c|--createvim)
create_vim
+ create_k8scluster
shift 1
;;
-T)
-v <path_to_reports>:/reports osmtests \\
-v <path_to_clouds.yaml>:/robot-systest/clouds.yaml \\
-v <path_to_kubeconfig>:/root/.kube/config \\
- -v <path_to_jujudata>:/root/.local/share/juju \\
-o <osmclient_version> \\
-p <package_branch> \\
-t <testing_tags>
-p <package_branch> [OPTIONAL]: OSM packages repository branch. Default: master
-t <testing_tags> [OPTIONAL]: Robot tests tags. [sanity, daily, regression, particular_test]. Default: sanity
-T <testing_branch> [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:
<path_to_reports> [OPTIONAL]: It is the absolute path to reports location in the host
<path_to_clouds.yaml> [OPTIONAL]: It is the absolute path to the clouds.yaml file in the host
- <path_to_kubeconfig> [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters
- <path_to_jujudata> [OPTIONAL]: It is the jujudata file to be used for juju cli"
+ <path_to_kubeconfig> [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters"
exit 0
;;
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
+ robot -d ${ROBOT_DEVOPS_FOLDER}/reports --tagstatinclude "cluster-*" -i ${TEST} ${ROBOT_DEVOPS_FOLDER}/testsuite/
else
- echo "Wrong test provided"
- exit 1
+ echo "No test was provided. Exiting..."
fi
-exit 1
+exit 0