diff --git a/tests/integration/kubernetes/k8s-confidential.bats b/tests/integration/kubernetes/k8s-confidential.bats index c78c7d5184..bf56ac3636 100644 --- a/tests/integration/kubernetes/k8s-confidential.bats +++ b/tests/integration/kubernetes/k8s-confidential.bats @@ -30,15 +30,19 @@ setup() { # Check pod creation kubectl wait --for=condition=Ready --timeout=$timeout pod "${pod_name}" - pod_ip=$(kubectl get pod -o wide | grep "confidential-unencrypted" | awk '{print $6;}') - - # Run the remote command - coco_enabled=$(ssh -i ${SSH_KEY_FILE} -o "StrictHostKeyChecking no" -o "PasswordAuthentication=no" root@${pod_ip} /bin/sh -c "$(get_remote_command_per_hypervisor)" || true) - - if [ -z "$coco_enabled" ]; then - >&2 echo -e "Confidential compute is expected but not enabled." - return 1 - fi + coco_enabled="" + for i in {1..6}; do + if ! pod_ip=$(kubectl get pod -o wide | grep "confidential-unencrypted" | awk '{print $6;}'); then + warn "Failed to get pod IP address." + else + info "Pod IP address: ${pod_ip}" + coco_enabled=$(ssh -i ${SSH_KEY_FILE} -o "StrictHostKeyChecking no" -o "PasswordAuthentication=no" root@${pod_ip} /bin/sh -c "$(get_remote_command_per_hypervisor)") && break + warn "Failed to connect to pod." + fi + sleep 5 + done + [ -z "$coco_enabled" ] && die "Confidential compute is expected but not enabled." + info "ssh client output: ${coco_enabled}" } teardown() {