Skip to content

Commit 7386625

Browse files
committed
Ensure extract-release-imagerefs pod is removed
This attempts to fix following error seen from ipsec test run: I1118 11:08:34.394429 461 delete.go:70] Wait up to 5m0s for pod "ipsec-tcpdump-hostpod-vftlk" to be fully deleted I1118 11:09:07.535653 461 exec_util.go:59] ExecWithOptions {Command:[/bin/sh -c cat /release-manifests/image-references] Namespace:e2e-test-ipsec-48sdq PodName:extract-release-imagerefs ContainerName:imagerefs Stdin:<nil> CaptureStdout:true CaptureStderr:true PreserveWhitespace:false Quiet:false} I1118 11:09:07.536406 461 exec_util.go:66] ExecWithOptions: Clientset creation I1118 11:09:07.536456 461 exec_util.go:83] ExecWithOptions: execute(POST https://api.ci-op-6ic49xd0-f3b46.aws-2.ci.openshift.org:6443/api/v1/namespaces/e2e-test-ipsec-48sdq/pods/extract-release-imagerefs/exec?command=%2Fbin%2Fsh&command=-c&command=cat+%2Frelease-manifests%2Fimage-references&container=imagerefs&container=imagerefs&stderr=true&stdout=true) I1118 11:09:07.642284 461 exec_util.go:111] Exec stderr: "" I1118 11:09:07.642418 461 exec_util.go:112] Unexpected error: failed to execute command in pod extract-release-imagerefs, container imagerefs: error sending request: Post "https://api.ci-op-6ic49xd0-f3b46.aws-2.ci.openshift.org:6443/api/v1/namespaces/e2e-test-ipsec-48sdq/pods/extract-release-imagerefs/exec?command=%2Fbin%2Fsh&command=-c&command=cat+%2Frelease-manifests%2Fimage-references&container=imagerefs&container=imagerefs&stderr=true&stdout=true": read tcp 10.131.68.7:51092->54.244.16.237:6443: read: connection reset by peer: <*errors.errorString | 0xc006aabf10>: error sending request: Post "https://api.ci-op-6ic49xd0-f3b46.aws-2.ci.openshift.org:6443/api/v1/namespaces/e2e-test-ipsec-48sdq/pods/extract-release-imagerefs/exec?command=%2Fbin%2Fsh&command=-c&command=cat+%2Frelease-manifests%2Fimage-references&container=imagerefs&container=imagerefs&stderr=true&stdout=true": read tcp 10.131.68.7:51092->54.244.16.237:6443: read: connection reset by peer { s: "error sending request: Post \"https://api.ci-op-6ic49xd0-f3b46.aws-2.ci.openshift.org:6443/api/v1/namespaces/e2e-test-ipsec-48sdq/pods/extract-release-imagerefs/exec?command=%2Fbin%2Fsh&command=-c&command=cat+%2Frelease-manifests%2Fimage-references&container=imagerefs&container=imagerefs&stderr=true&stdout=true\": read tcp 10.131.68.7:51092->54.244.16.237:6443: read: connection reset by peer", } [FAILED] in [It] - k8s.io/kubernetes@v1.31.1/test/e2e/framework/pod/exec_util.go:112 @ 11/18/24 11:09:07.701 Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
1 parent 3d52d74 commit 7386625

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

test/extended/util/clusterversion.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
corev1 "k8s.io/api/core/v1"
99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1010
restclient "k8s.io/client-go/rest"
11+
"k8s.io/kubernetes/test/e2e/framework"
1112
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
1213

1314
configv1 "github.com/openshift/api/config/v1"
@@ -68,9 +69,10 @@ func DetermineImageFromRelease(ctx context.Context, oc *CLI, imageTagName string
6869
if len(releaseImage) == 0 {
6970
return "", fmt.Errorf("cannot determine release image from ClusterVersion resource")
7071
}
72+
podName := "extract-release-imagerefs"
7173
podClient := e2epod.PodClientNS(oc.KubeFramework(), oc.Namespace())
7274
podClient.CreateSync(ctx, &corev1.Pod{
73-
ObjectMeta: metav1.ObjectMeta{Name: "extract-release-imagerefs"},
75+
ObjectMeta: metav1.ObjectMeta{Name: podName},
7476
Spec: corev1.PodSpec{
7577
Containers: []corev1.Container{
7678
{
@@ -81,8 +83,15 @@ func DetermineImageFromRelease(ctx context.Context, oc *CLI, imageTagName string
8183
},
8284
},
8385
})
84-
defer podClient.Delete(ctx, "extract-release-imagerefs", metav1.DeleteOptions{})
85-
imageRefsString := e2epod.ExecShellInContainer(oc.KubeFramework(), "extract-release-imagerefs", "imagerefs", "cat /release-manifests/image-references")
86+
defer func() {
87+
podClient.Delete(ctx, podName, metav1.DeleteOptions{})
88+
err = e2epod.WaitForPodNotFoundInNamespace(ctx, oc.kubeFramework.ClientSet,
89+
podName, oc.Namespace(), e2epod.PodDeleteTimeout)
90+
if err != nil {
91+
framework.Logf("pod %q is still found in namespace %q", podName, oc.Namespace())
92+
}
93+
}()
94+
imageRefsString := e2epod.ExecShellInContainer(oc.KubeFramework(), podName, "imagerefs", "cat /release-manifests/image-references")
8695
imageRefs := struct {
8796
Spec struct {
8897
Tags []struct {

0 commit comments

Comments
 (0)