[functest] Get passed DOCKER_TAG for K8s scenarios
[releng.git] / jjb / functest / functest-k8.sh
index 115ff42..73e87d3 100755 (executable)
@@ -12,15 +12,21 @@ sudo rm -rf $rc_file
 
 if [[ ${INSTALLER_TYPE} == 'compass' ]]; then
     admin_conf_file_vol="-v ${HOME}/admin.conf:/root/.kube/config"
-    echo "export KUBECONFIG=/root/.kube/config" >> $rc_file
     echo "export KUBERNETES_PROVIDER=local" >> $rc_file
     KUBE_MASTER_URL=$(cat ${HOME}/admin.conf|grep server| awk '{print $2}')
     echo "export KUBE_MASTER_URL=$KUBE_MASTER_URL" >> $rc_file
     KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL|awk -F'https://|:[0-9]+' '$0=$2')
     echo "export KUBE_MASTER_IP=$KUBE_MASTER_IP" >> $rc_file
 elif [[ ${INSTALLER_TYPE} == 'joid' && ${BRANCH} == 'master' ]]; then
-    admin_conf_file_vol="-v ${HOME}/joid_config/config:/root/joid_config/config"
+    admin_conf_file_vol="-v ${HOME}/joid_config/config:/root/.kube/config"
     rc_file=${HOME}/joid_config/k8config
+elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
+    admin_conf_file_vol="-v ${HOME}/admin.conf:/root/.kube/config"
+    KUBE_MASTER_URL=$(awk '/server:/ {print $2}' ${HOME}/admin.conf | grep -Fv localhost)
+    KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | grep -Po '(\d+\.){3}\d+')
+    for k in KUBE_MASTER_URL KUBE_MASTER_IP; do
+        echo "export $k=${!k}" >> $rc_file
+    done
 else
     echo "Not supported by other installers yet"
     exit 1
@@ -35,27 +41,31 @@ results_vol="-v ${dir_result}:${FUNCTEST_DIR}/results"
 
 volumes="${rc_file_vol} ${results_vol} ${admin_conf_file_vol}"
 
-# Set iptables rule to allow forwarding return traffic for container
-if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then
-    sudo iptables -I FORWARD -j RETURN
-fi
-
 envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} \
     -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
     -e BUILD_TAG=${BUILD_TAG} -e DEPLOY_TYPE=${DEPLOY_TYPE}"
 
-DOCKER_TAG=`[[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/}`
+DOCKER_TAG=${DOCKER_TAG:-$([[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/})}
 
 set +e
 
-FUNCTEST_IMAGE=opnfv/functest-kubernetes:${DOCKER_TAG}
-echo "Pulling Docker image ${FUNCTEST_IMAGE} ..."
-docker pull ${FUNCTEST_IMAGE}>/dev/null
+ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+echo 0 > ${ret_val_file}
+
+FUNCTEST_IMAGES="\
+opnfv/functest-kubernetes-healthcheck:${DOCKER_TAG} \
+opnfv/functest-kubernetes-smoke:${DOCKER_TAG} \
+opnfv/functest-kubernetes-features:${DOCKER_TAG}"
 cmd_opt="run_tests -r -t all"
-cmd="docker run --rm --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
-echo "Running Functest k8s test cases, CMD: ${cmd}"
-eval ${cmd}
-ret_value=$?
-if [ ${ret_value} != 0 ]; then
-  echo ${ret_value} > ${ret_val_file}
-fi
+
+for image in ${FUNCTEST_IMAGES}; do
+    echo "Pulling Docker image ${image} ..."
+    docker pull "${image}" >/dev/null
+    cmd="docker run --rm ${envs} ${volumes} ${image} /bin/bash -c '${cmd_opt}'"
+    echo "Running Functest k8s test cases, CMD: ${cmd}"
+    eval ${cmd}
+    ret_value=$?
+    if [ ${ret_value} != 0 ]; then
+        echo ${ret_value} > ${ret_val_file}
+    fi
+done