From: Kuralamudhan Ramakrishnan Date: Tue, 7 Dec 2021 19:18:11 +0000 (+0000) Subject: Merge "Increase robustness of control plane wait" X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=ec81be69009abe5d70defe38e016f14caa4a722e;hp=-c;p=icn.git Merge "Increase robustness of control plane wait" --- ec81be69009abe5d70defe38e016f14caa4a722e diff --combined deploy/site/vm/vm.sh index d382420,8dcc359..882a8bd --- a/deploy/site/vm/vm.sh +++ b/deploy/site/vm/vm.sh @@@ -23,7 -23,7 +23,7 @@@ function release_name } function deploy { - for values in build/site/vm/machine-*-values.yaml; do + for values in ${BUILDDIR}/machine-*-values.yaml; do helm -n metal3 install $(release_name ${values}) ${SCRIPTDIR}/../../machine --create-namespace -f ${values} done helm -n metal3 install cluster-e2etest ${SCRIPTDIR}/../../cluster --create-namespace -f ${BUILDDIR}/cluster-e2etest-values.yaml @@@ -31,7 -31,7 +31,7 @@@ function clean { helm -n metal3 uninstall cluster-e2etest - for values in build/site/vm/machine-*-values.yaml; do + for values in ${BUILDDIR}/machine-*-values.yaml; do helm -n metal3 uninstall $(release_name ${values}) done } @@@ -41,12 -41,15 +41,16 @@@ function is_cluster_ready } function is_control_plane_ready { - [[ $(kubectl --kubeconfig=${BUILDDIR}/e2etest-admin.conf get nodes -l node-role.kubernetes.io/control-plane -o jsonpath='{range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}{end}' | grep -c -v True) == 0 ]] + # Checking the Cluster resource status is not sufficient, it + # reports the control plane as ready before the nodes forming the + # control plane are ready + local -r replicas=$(kubectl -n metal3 get kubeadmcontrolplane e2etest -o jsonpath='{.spec.replicas}') + [[ $(kubectl --kubeconfig=${BUILDDIR}/e2etest-admin.conf get nodes -l node-role.kubernetes.io/control-plane -o jsonpath='{range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}{end}' | grep -c True) == ${replicas} ]] } function wait_for_all_ready { WAIT_FOR_INTERVAL=60s + WAIT_FOR_TRIES=30 wait_for is_cluster_ready clusterctl -n metal3 get kubeconfig e2etest >${BUILDDIR}/e2etest-admin.conf chmod 600 ${BUILDDIR}/e2etest-admin.conf