From a2dff60c45e223f1e6d57a6400185ef40eeedc0e Mon Sep 17 00:00:00 2001 From: lakshmimsft Date: Fri, 17 Jan 2025 14:44:24 -0800 Subject: [PATCH] waiting for registered manifests --- .../workflows/functional-test-noncloud.yaml | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.github/workflows/functional-test-noncloud.yaml b/.github/workflows/functional-test-noncloud.yaml index a0af5c4844..fb1f6102ac 100644 --- a/.github/workflows/functional-test-noncloud.yaml +++ b/.github/workflows/functional-test-noncloud.yaml @@ -290,6 +290,50 @@ jobs: echo "*** Installing Radius to Kubernetes ***" eval $RAD_COMMAND + - name: Wait to register manifests + run: | + rm -f registermanifest_logs.txt + # Find the pod with container "ucp" + POD_NAME=$( + kubectl get pods -n radius-system \ + -o jsonpath='{range .items[*]}{.metadata.name}{" "}{.spec.containers[*].name}{"\n"}{end}' \ + | grep "ucp" \ + | head -n1 \ + | cut -d" " -f1 + ) + echo "Found ucp pod: $POD_NAME" + + if [ -z "$POD_NAME" ]; then + echo "No pod with container 'ucp' found in namespace radius-system." + exit 1 + fi + + # Poll logs for up to iterations, 30 seconds each (upto 3 minutes total) + for i in {1..6}; do + kubectl logs "$POD_NAME" -n radius-system | tee registermanifest_logs.txt + + # Exit on error + if grep -qi "error" registermanifest_logs.txt; then + echo "Error found in ucp logs." + exit 1 + fi + + # Check for success + if grep -q "Successfully registered manifests" registermanifest_logs.txt; then + echo "Success message found." + break + fi + + echo "Logs not ready, waiting 30 seconds..." + sleep 30 + done + + # Final check to ensure success message was found + if ! grep -q "Successfully registered manifests" registermanifest_logs.txt; then + echo "Manifests not registered after 3 minutes." + exit 1 + fi + echo "*** Create workspace, group and environment for test ***" rad workspace create kubernetes rad group create kind-radius