Use kubectl wait in KuD wait_for_pod test function
[multicloud/k8s.git] / kud / tests / _functions.sh
index 367888e..e2d9207 100755 (executable)
@@ -223,24 +223,13 @@ function wait_deployment {
     done
 }
 
-# wait_for_pod() - Wait until first pod matched by kubectl filters is in running status
+# wait_for_pod() - Wait until pods matched by kubectl filters is in running status
 function wait_for_pod {
     #Example usage:
     # wait_for_pods example_pod
     # wait_for_pods --namespace test different_pod
     # wait_for_pods -n test -l app=plugin_test
-
-    status_phase=""
-    while [[ "$status_phase" != "Running" ]]; do
-        new_phase="$(kubectl get pods -o 'go-template={{ index .items 0 "status" "phase" }}' "$@" )"
-        if [[ "$new_phase" != "$status_phase" ]]; then
-            echo "$(date +%H:%M:%S) - Filter=[$*] : $new_phase"
-            status_phase="$new_phase"
-        fi
-        if [[ "$new_phase" == "Err"* ]]; then
-            exit 1
-        fi
-    done
+    kubectl wait --for=condition=Ready --timeout=600s pod "$@"
 }
 
 # wait_for_deployment() - Wait until the deployment is ready