diff --git a/newsfragments/598.internal.md b/newsfragments/598.internal.md new file mode 100644 index 000000000..431cc1cd8 --- /dev/null +++ b/newsfragments/598.internal.md @@ -0,0 +1 @@ +Tests: don't check services matching labels against terminating pods. diff --git a/tests/integration/test_networking.py b/tests/integration/test_networking.py index 2e501bbc3..e8ea68f9b 100644 --- a/tests/integration/test_networking.py +++ b/tests/integration/test_networking.py @@ -40,7 +40,7 @@ async def test_services_have_matching_labels( label_selectors = {label: value for label, value in service.spec.selector.items()} async for pod in kube_client.list(Pod, namespace=generated_data.ess_namespace, labels=label_selectors): - if pod.status and pod.status.phase == "Terminating": + if pod.status and pod.status.phase not in ("Terminating", "Succeeded"): continue # Skip terminating pods assert service.metadata, f"Encountered a service without metadata : {service}" assert pod.metadata, f"Encountered a pod without metadata : {pod}" @@ -58,7 +58,10 @@ async def test_services_have_matching_labels( assert value.startswith( pod.metadata.labels[label.replace("k8s.element.io/target-", "app.kubernetes.io/")] ), ( - f"{pod.metadata.name} does not have the correct label {label}={value} " + f"Service/{service.metadata.name} has {label=}={value=} " + f"which does not start with the value from the Pod/{pod.metadata.name} " + f"{label.replace('k8s.element.io/target-', 'app.kubernetes.io/')}=" + f"{pod.metadata.labels[label.replace('k8s.element.io/target-', 'app.kubernetes.io/')]} " f"(pod status phase : {pod.status.phase if pod.status else 'N/A'}" )