X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Faddons%2Faddons.sh;h=30bf53d227e365944c8d86ea9fa13a7bc4429aba;hb=e7d011b79177b79e4a126554c7f1ac2b5b7bb166;hp=8d2f5ca4d56b9102b573c70af5b7244092bc98da;hpb=4678e94280ee72d654ca48edbb5c1a165541b311;p=icn.git diff --git a/deploy/addons/addons.sh b/deploy/addons/addons.sh index 8d2f5ca..30bf53d 100755 --- a/deploy/addons/addons.sh +++ b/deploy/addons/addons.sh @@ -10,6 +10,10 @@ source $LIBDIR/common.sh BUILDDIR=${SCRIPTDIR/deploy/build} mkdir -p ${BUILDDIR} +function install_deps { + apt-get install -y jq +} + function is_emco_ready { local -r cluster_name=${CLUSTER_NAME:-icn} local -r cluster_kubeconfig="${BUILDDIR}/${cluster_name}.conf" @@ -77,13 +81,28 @@ function unregister_emco_controllers { emcoctl --config ${BUILDDIR}/${cluster_name}-config.yaml delete -f ${BUILDDIR}/${cluster_name}-controllers.yaml } +function is_addon_ready { + local -r addon=$1 + local -r cluster_name=${CLUSTER_NAME:-icn} + local -r cluster_kubeconfig="${BUILDDIR}/${cluster_name}.conf" + [[ $(kubectl --kubeconfig=${cluster_kubeconfig} -n kud get Kustomization/${addon} -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}') == "True" ]] +} + function test_addons { + install_deps + # Create a temporary kubeconfig file for the tests local -r cluster_name=${CLUSTER_NAME:-icn} local -r cluster_kubeconfig="${BUILDDIR}/${cluster_name}.conf" clusterctl -n metal3 get kubeconfig ${cluster_name} >${cluster_kubeconfig} clone_kud_repository + # The vFW test in EMCO v21.12 does not use KubeVirt, so patch the + # KuD test and continue to use it + pushd ${KUDPATH} + patch -p1 --forward <${SCRIPTDIR}/plugin_fw_v2.patch || true + popd + pushd ${KUDPATH}/kud/tests failed_kud_tests="" container_runtime=$(KUBECONFIG=${cluster_kubeconfig} kubectl get nodes -o jsonpath='{.items[].status.nodeInfo.containerRuntimeVersion}') @@ -93,11 +112,16 @@ function test_addons { # security hardening. if [[ "${container_runtime}" == "containerd://1.2.13" ]]; then # With containerd 1.2.13, the qat test container image fails to unpack. - kud_tests="topology-manager-sriov multus ovn4nfv nfd sriov-network cmk" + kud_tests="topology-manager-sriov:sriov-network multus:multus-cni ovn4nfv:nodus-network nfd:node-feature-discovery sriov-network:sriov-network cmk:cpu-manager" else - kud_tests="topology-manager-sriov multus ovn4nfv nfd sriov-network qat cmk" + kud_tests="topology-manager-sriov:sriov-network multus:multus-cni ovn4nfv:nodus-network nfd:node-feature-discovery sriov-network:sriov-network qat:qat-plugin cmk:cpu-manager" fi - for test in ${kud_tests}; do + for kud_test in ${kud_tests}; do + addon="${kud_test#*:}" + test="${kud_test%:*}" + if [[ ! -z ${addon} ]]; then + wait_for is_addon_ready ${addon} + fi KUBECONFIG=${cluster_kubeconfig} bash ${test}.sh || failed_kud_tests="${failed_kud_tests} ${test}" done # The plugin_fw_v2 test needs the EMCO controllers in place