X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Fsite%2Fvm%2Fvm.sh;h=882a8bda26532bee7c5fcd6da6b1ed3e63ebdf15;hb=ec81be69009abe5d70defe38e016f14caa4a722e;hp=1e680349c6f18fb7b66626401a46f9071cd3208a;hpb=bde9736466e10c718c26ebf54e70534e047aa4b7;p=icn.git diff --git a/deploy/site/vm/vm.sh b/deploy/site/vm/vm.sh index 1e68034..882a8bd 100755 --- a/deploy/site/vm/vm.sh +++ b/deploy/site/vm/vm.sh @@ -41,11 +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