From 2323dafea0b12d61ff811aa402edc9107378723e Mon Sep 17 00:00:00 2001 From: Alexander <39818795+QxBytes@users.noreply.github.com> Date: Mon, 31 Aug 2026 20:06:32 +0000 Subject: [PATCH 1/4] ci: avoid conflicting pod name during wireserver and metadata server pod cleanup, noticed some failures during deletion of the pod after the command runs. when the deletion times out, we see "timed out waiting for condition" and the pod remains on the cluster. then, when we run kubectl run again with the same name, we get an error because the pod still exists. this change modifies the pod name so it is suffixed by metadata or wireserver so even if the pod fails to delete, we run the next command with a different pod name without conflict. if the pod fails to delete but still ran, the result of the kubectl run is of the inner command, so a bad delete shouldn't fail the test. --- test/network/wireserver_metadata_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/network/wireserver_metadata_test.sh b/test/network/wireserver_metadata_test.sh index dec5ee4a7c..3598ff8e15 100644 --- a/test/network/wireserver_metadata_test.sh +++ b/test/network/wireserver_metadata_test.sh @@ -11,13 +11,13 @@ if [ -n "$POOL" ]; then OVERRIDES=(--overrides="{\"spec\":{\"nodeSelector\":{\"agentpool\":\"${POOL}\"}}}") fi -kubectl run "$POD_NAME" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" +kubectl run "$POD_NAME-wireserver" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" if [ $? -eq 0 ]; then echo "wireserver connectivity expected to fail but succeeded" exit 1 fi -kubectl run "$POD_NAME" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" +kubectl run "$POD_NAME-metadata" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" if [ $? -ne 0 ]; then echo "metadata server connectivity expected to succeed but failed" exit 1 From 310f4e810754831c9219bc077e8857c83a547f67 Mon Sep 17 00:00:00 2001 From: Alexander <39818795+QxBytes@users.noreply.github.com> Date: Wed, 2 Sep 2026 16:22:53 +0000 Subject: [PATCH 2/4] ci: add random for uniqueness across retries --- test/network/wireserver_metadata_test.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/network/wireserver_metadata_test.sh b/test/network/wireserver_metadata_test.sh index 3598ff8e15..ce86b38c77 100644 --- a/test/network/wireserver_metadata_test.sh +++ b/test/network/wireserver_metadata_test.sh @@ -11,13 +11,15 @@ if [ -n "$POOL" ]; then OVERRIDES=(--overrides="{\"spec\":{\"nodeSelector\":{\"agentpool\":\"${POOL}\"}}}") fi -kubectl run "$POD_NAME-wireserver" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" +SUFFIX="${RANDOM}" + +kubectl run "$POD_NAME-wireserver-${SUFFIX}" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" if [ $? -eq 0 ]; then echo "wireserver connectivity expected to fail but succeeded" exit 1 fi -kubectl run "$POD_NAME-metadata" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" +kubectl run "$POD_NAME-metadata-${SUFFIX}" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" if [ $? -ne 0 ]; then echo "metadata server connectivity expected to succeed but failed" exit 1 From 6df462cdeda9e77542e8f3d837b39b3da0e9482a Mon Sep 17 00:00:00 2001 From: Alexander <39818795+QxBytes@users.noreply.github.com> Date: Thu, 3 Sep 2026 02:23:08 +0000 Subject: [PATCH 3/4] increase timeout for pod startup node restart test may happen before so node might not be ready-- increases time for pod to startup --- test/network/wireserver_metadata_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/network/wireserver_metadata_test.sh b/test/network/wireserver_metadata_test.sh index ce86b38c77..04d5499bd1 100644 --- a/test/network/wireserver_metadata_test.sh +++ b/test/network/wireserver_metadata_test.sh @@ -13,13 +13,13 @@ fi SUFFIX="${RANDOM}" -kubectl run "$POD_NAME-wireserver-${SUFFIX}" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" +kubectl run "$POD_NAME-wireserver-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=5m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" if [ $? -eq 0 ]; then echo "wireserver connectivity expected to fail but succeeded" exit 1 fi -kubectl run "$POD_NAME-metadata-${SUFFIX}" -it --rm --image busybox --restart Never "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" +kubectl run "$POD_NAME-metadata-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=5m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" if [ $? -ne 0 ]; then echo "metadata server connectivity expected to succeed but failed" exit 1 From 4c01ab19d5e5a50dbb3aba3c9e1bd50bb5015be5 Mon Sep 17 00:00:00 2001 From: Alexander <39818795+QxBytes@users.noreply.github.com> Date: Wed, 9 Sep 2026 20:46:20 +0000 Subject: [PATCH 4/4] run wireserver tests only on linux nodes --- test/network/wireserver_metadata_test.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/test/network/wireserver_metadata_test.sh b/test/network/wireserver_metadata_test.sh index 04d5499bd1..015e589c8c 100644 --- a/test/network/wireserver_metadata_test.sh +++ b/test/network/wireserver_metadata_test.sh @@ -1,25 +1,29 @@ #!/bin/bash -# Optional per-pool parameterization: when POOL is set the throwaway pods are -# named "wget-${POOL}" and pinned to that agent pool via nodeSelector, so this -# test can run per-pool in parallel. When POOL is empty the behavior is -# unchanged (pod name "wget", no node selector). +# The two connectivity checks each run a throwaway busybox pod named +# "${POD_NAME}-wireserver-${SUFFIX}" / "${POD_NAME}-metadata-${SUFFIX}", where +# POD_NAME is "wget" (or "wget-${POOL}" when POOL is set) and SUFFIX is a random +# value for uniqueness across retries. When POOL is set the pods are also pinned +# to that agent pool. The pods always target Linux nodes (kubernetes.io/os=linux) +# so the Linux busybox image is never scheduled onto a Windows node, where it +# cannot be pulled/run and the check would time out. POOL="${POOL:-}" POD_NAME="wget" -OVERRIDES=() +NODE_SELECTOR='"kubernetes.io/os":"linux"' if [ -n "$POOL" ]; then POD_NAME="wget-${POOL}" - OVERRIDES=(--overrides="{\"spec\":{\"nodeSelector\":{\"agentpool\":\"${POOL}\"}}}") + NODE_SELECTOR="${NODE_SELECTOR},\"agentpool\":\"${POOL}\"" fi +OVERRIDES=(--overrides="{\"spec\":{\"nodeSelector\":{${NODE_SELECTOR}}}}") SUFFIX="${RANDOM}" -kubectl run "$POD_NAME-wireserver-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=5m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" +kubectl run "$POD_NAME-wireserver-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=1m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://168.63.129.16/machine/plugins?comp=nmagent&type=getinterfaceinfov1" if [ $? -eq 0 ]; then echo "wireserver connectivity expected to fail but succeeded" exit 1 fi -kubectl run "$POD_NAME-metadata-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=5m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" +kubectl run "$POD_NAME-metadata-${SUFFIX}" -it --rm --image busybox --restart Never --pod-running-timeout=1m "${OVERRIDES[@]}" -- wget --timeout=3 --header=Metadata:true "http://169.254.169.254/metadata/instance?api-version=2021-02-01" if [ $? -ne 0 ]; then echo "metadata server connectivity expected to succeed but failed" exit 1