diff --git a/test/e2e/v1beta1/scripts/gh-actions/setup-katib.sh b/test/e2e/v1beta1/scripts/gh-actions/setup-katib.sh index 97c322b3db9..4826855d847 100755 --- a/test/e2e/v1beta1/scripts/gh-actions/setup-katib.sh +++ b/test/e2e/v1beta1/scripts/gh-actions/setup-katib.sh @@ -65,8 +65,26 @@ echo "Deploying Katib" cd ../../../../../ && WITH_DATABASE_TYPE=$WITH_DATABASE_TYPE make deploy && cd - # Wait until all Katib pods is running. +MAX_RETRY_COUNT=24 +COMPONENTS_NUM=3 +if "${DEPLOY_KATIB_UI}"; then + COMPONENTS_NUM=4 +fi +until [ "$(kubectl get pods -n kubeflow -l "katib.kubeflow.org/component in ($WITH_DATABASE_TYPE,controller,ui,db-manager)" -oname | wc -l | tr -d ' ')" = "${COMPONENTS_NUM}" ]; do + echo -e "\nWaiting for katib components to be created" + kubectl get pods -n kubeflow || : + + sleep 5 + MAX_RETRY_COUNT=$((MAX_RETRY_COUNT - 1)) + if [ "${MAX_RETRY_COUNT}" = "0" ]; then + echo "Failed to create katib components" + exit 1 + fi +done + TIMEOUT=120s -kubectl wait --for=condition=ready --timeout=${TIMEOUT} -l "katib.kubeflow.org/component in ($WITH_DATABASE_TYPE,controller,db-manager,ui)" -n kubeflow pod || + +kubectl wait --for=condition=ContainersReady=True --timeout=${TIMEOUT} -l "katib.kubeflow.org/component in ($WITH_DATABASE_TYPE,controller,db-manager,ui)" -n kubeflow pod || (kubectl get pods -n kubeflow && kubectl describe pods -n kubeflow && exit 1) echo "All Katib components are running."