Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .ci-operator.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build_root_image:
name: release
namespace: openshift
tag: rhel-9-release-golang-1.24-openshift-4.22
tag: rhel-9-release-golang-1.25-openshift-4.22
25 changes: 20 additions & 5 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
version: "2"
linters:
disable-all: true
default: none
enable:
- nosprintfhostport
presets: []
fast: true
run:
timeout: 5m
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- third_party$
- builtin$
- examples$
formatters:
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$
174 changes: 89 additions & 85 deletions go.mod

Large diffs are not rendered by default.

289 changes: 158 additions & 131 deletions go.sum

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions images/tests/Dockerfile.rhel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.22 AS builder
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.25-openshift-4.22 AS builder
WORKDIR /go/src/github.com/openshift/origin
COPY . .
RUN make; \
Expand All @@ -20,5 +20,5 @@ RUN PACKAGES="git gzip util-linux" && \
LABEL io.k8s.display-name="OpenShift End-to-End Tests" \
io.openshift.release.operator=true \
io.k8s.description="OpenShift is a platform for developing, building, and deploying containerized applications." \
io.openshift.build.versions="kubernetes-tests=1.34.1" \
io.openshift.build.versions="kubernetes-tests=1.35.1" \
io.openshift.tags="openshift,tests,e2e"
34 changes: 2 additions & 32 deletions pkg/cmd/openshift-tests/images/images_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,23 +89,18 @@ func NewImagesCommand() *cobra.Command {
if err != nil {
return err
}
// TODO(k8s-1.35): remove this when k8s 1.35 lands
injectedLines := injectNewImages(ref, !o.Upstream)

// Verify manifest lists for all images before printing
if o.VerifyManifestLists {
allLines := append(lines, injectedLines...)
sourceImages := extractSourceImages(allLines)
sourceImages := extractSourceImages(lines)
if err := imagesetup.VerifyManifestLists(sourceImages, o.AllowMissingArchs); err != nil {
return err
}
}
for _, line := range lines {
fmt.Fprintln(os.Stdout, line)
}
for _, line := range injectedLines {
fmt.Fprintln(os.Stdout, line)
}

return nil
},
}
Expand Down Expand Up @@ -276,31 +271,6 @@ func createImageMirrorForInternalImages(prefix string, ref reference.DockerImage
return lines, nil
}

// TODO(k8s-1.35): remove this when k8s 1.35 lands
func injectNewImages(ref reference.DockerImageReference, mirrored bool) []string {
target := ref.Exact()

images := map[string]string{
"registry.k8s.io/e2e-test-images/agnhost:2.59": "e2e-2-registry-k8s-io-e2e-test-images-agnhost-2-59-l6lMl0FrhVtCSA-8",
"registry.k8s.io/e2e-test-images/busybox:1.37.0-1": "e2e-6-registry-k8s-io-e2e-test-images-busybox-1-37-0-1-Z7zmmx9UlrNelUgv",
"registry.k8s.io/pause:3.10.1": "e2e-22-registry-k8s-io-pause-3-10-1-a6__nK-VRxiifU0Z",
}

lines := []string{}
for originalImage, mirrorTag := range images {
if mirrored {
lines = append(lines, fmt.Sprintf("%s:%s %s:%s",
imagesetup.DefaultTestImageMirrorLocation, mirrorTag,
target, mirrorTag))
} else {
lines = append(lines, fmt.Sprintf("%s %s:%s",
originalImage, target, mirrorTag))
}
}
sort.Strings(lines)
return lines
}

// extractSourceImages extracts source images from mirror list lines.
// Each line is expected to be in the format: "source-image target-image"
func extractSourceImages(lines []string) []string {
Expand Down
7 changes: 4 additions & 3 deletions pkg/e2eanalysis/e2e_analysis.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/dynamic"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/klog/v2"
e2e "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
)
Expand Down Expand Up @@ -590,7 +591,7 @@ func checkMachineNodeConsistency(clientset clientset.Interface, dc dynamic.Inter
message := fmt.Sprintf("Ready and Scheduable Nodes count (%d) is less than Running Machine count (%d): ", readyNodeCount, runningMachineCount)
message += "Ready and Scheduable Nodes:"
for _, node := range nodeList.Items {
if e2enode.IsNodeSchedulable(&node) {
if e2enode.IsNodeSchedulable(klog.TODO(), &node) {
message += fmt.Sprintf(" %s", node.Name)
}
}
Expand Down Expand Up @@ -636,7 +637,7 @@ func GetReadyNodeCountByLabel(nodeList *k8sv1.NodeList, labelSelector string) (i
// First, check if the node's labels match the selector.
if selector.Matches(labels.Set(node.Labels)) {
// If they match, then check if the node is schedulable.
if e2enode.IsNodeSchedulable(&node) {
if e2enode.IsNodeSchedulable(klog.TODO(), &node) {
readyNodeCount++
}
}
Expand All @@ -651,7 +652,7 @@ func getUnreadyOrUnschedulableNodeNames(allNodes *k8sv1.NodeList) []string {
for _, node := range allNodes.Items {
// IsNodeSchedulable checks if the node is ready AND schedulable.
// If it returns false, the node is one we're interested in.
if !e2enode.IsNodeSchedulable(&node) {
if !e2enode.IsNodeSchedulable(klog.TODO(), &node) {
badNodeNames = append(badNodeNames, node.Name)
}
}
Expand Down
2 changes: 1 addition & 1 deletion test/extended/cli/basics.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ var _ = g.Describe("[sig-cli] oc basics", func() {
)

g.It("can create and interact with a list of resources", func() {
file, err := replaceImageInFile(mixedAPIVersionsFile, "openshift/hello-openshift", k8simage.GetE2EImage(k8simage.HttpdNew))
file, err := replaceImageInFile(mixedAPIVersionsFile, "openshift/hello-openshift", k8simage.GetE2EImage(k8simage.NginxNew))
o.Expect(err).NotTo(o.HaveOccurred())
defer os.Remove(file)

Expand Down
4 changes: 2 additions & 2 deletions test/extended/cli/debug.go
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ spec:
}
o.Expect(readyWorkerNode).NotTo(o.BeEmpty(), "No ready worker node found")

err = oc.AsAdmin().Run("debug").Args("node/"+readyWorkerNode, "--image="+image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.56"), "--keep-labels=true", "--preserve-pod=true", "--", "sleep", "1").Execute()
err = oc.AsAdmin().Run("debug").Args("node/"+readyWorkerNode, "--image="+image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.59"), "--keep-labels=true", "--preserve-pod=true", "--", "sleep", "1").Execute()
pods, err := oc.AdminKubeClient().CoreV1().Pods(ns).List(context.TODO(), metav1.ListOptions{LabelSelector: "debug.openshift.io/managed-by=oc-debug"})
o.Expect(err).NotTo(o.HaveOccurred())
o.Expect(pods.Items).To(o.HaveLen(1))
Expand All @@ -328,7 +328,7 @@ spec:
})
o.Expect(err).NotTo(o.HaveOccurred(), "Expected debug pod to be deleted")

err = oc.AsAdmin().Run("debug").Args("node/"+readyWorkerNode, "--image="+image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.56"), "--preserve-pod=true", "--", "sleep", "1").Execute()
err = oc.AsAdmin().Run("debug").Args("node/"+readyWorkerNode, "--image="+image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.59"), "--preserve-pod=true", "--", "sleep", "1").Execute()

// Tests the code fix in https://github.com/openshift/oc/pull/2074
o.Expect(err).NotTo(o.HaveOccurred())
Expand Down
143 changes: 4 additions & 139 deletions test/extended/etcd/etcd_storage_path.go
Original file line number Diff line number Diff line change
Expand Up @@ -287,30 +287,11 @@ func testEtcd3StoragePath(t g.GinkgoTInterface, oc *exutil.CLI, etcdClient3Fn fu
// Apply output of git diff origin/release-1.XY origin/release-1.X(Y+1) test/integration/etcd/data.go. This is needed
// to apply the right data depending on the kube version of the running server. Replace this with the next current
// and rebase version next time. Don't pile them up.
if strings.HasPrefix(version.Minor, "35") {
if strings.HasPrefix(version.Minor, "36") {
for k, a := range map[schema.GroupVersionResource]etcddata.StorageData{
// Added etcd data.
// TODO: When rebase has started, add etcd storage data has been added to
// k8s.io/kubernetes/test/integration/etcd/data.go in the 1.35 release.
gvr("certificates.k8s.io", "v1beta1", "podcertificaterequests"): {
Stub: `{"metadata": {"name": "req-1"}, "spec": {"signerName":"example.com/signer", "podName":"pod-1", "podUID":"pod-uid-1", "serviceAccountName":"sa-1", "serviceAccountUID":"sa-uid-1", "nodeName":"node-1", "nodeUID":"node-uid-1", "maxExpirationSeconds":86400, "pkixPublicKey":"MCowBQYDK2VwAyEA5g+rk9q/hjojtc2nwHJ660RdX5w1f4AK0/kP391QyLY=", "proofOfPossession":"SuGHX7SMyPHuN5cD5wjKLXGNbhdlCYUnTH65JkTx17iWlLynQ/g9GiTYObftSHNzqRh0ofdgAGqK6a379O7RBw=="}, "userConfig": {"test/foo":"bar"}}`,
ExpectedEtcdPath: "/registry/podcertificaterequests/" + oc.Namespace() + "/req-1",
ExpectedGVK: gvkP("certificates.k8s.io", "v1beta1", "PodCertificateRequest"),
IntroducedVersion: "1.35",
RemovedVersion: "1.39",
},
gvr("storagemigration.k8s.io", "v1beta1", "storageversionmigrations"): {
Stub: `{"metadata": {"name": "test-migration"}, "spec":{"resource": {"group": "test-group", "resource": "test-resource"}}}`,
ExpectedEtcdPath: "/registry/storageversionmigrations/test-migration",
IntroducedVersion: "1.35",
RemovedVersion: "1.41",
},
gvr("scheduling.k8s.io", "v1alpha1", "workloads"): {
Stub: `{"metadata": {"name": "w1"}, "spec": {"podGroups": [{"name": "group1", "policy": {"basic": {}}}]}}`,
ExpectedEtcdPath: "/registry/workloads/" + oc.Namespace() + "/w1",
IntroducedVersion: "1.35",
RemovedVersion: "1.41",
},
// k8s.io/kubernetes/test/integration/etcd/data.go in the 1.36 release.
} {
if _, preexisting := etcdStorageData[k]; preexisting {
t.Errorf("upstream etcd storage data already has data for %v. Update current and rebase version diff to next rebase version", k)
Expand All @@ -320,127 +301,11 @@ func testEtcd3StoragePath(t g.GinkgoTInterface, oc *exutil.CLI, etcdClient3Fn fu

// Modified etcd data.
// TODO: When rebase has started, fixup etcd storage data that has been modified
// in k8s.io/kubernetes/test/integration/etcd/data.go in the 1.35 release.
etcdStorageData[gvr("certificates.k8s.io", "v1alpha1", "podcertificaterequests")] = etcddata.StorageData{
ExpectedEtcdPath: "/registry/podcertificaterequests/" + oc.Namespace() + "/req-1",
ExpectedGVK: gvkP("certificates.k8s.io", "v1alpha1", "PodCertificateRequest"),
IntroducedVersion: "1.34",
RemovedVersion: "1.35",
}
etcdStorageData[gvr("admissionregistration.k8s.io", "v1beta1", "mutatingadmissionpolicies")] = etcddata.StorageData{
Stub: `{"metadata":{"name":"map1b1"},"spec":{"paramKind":{"apiVersion":"test.example.com/v1","kind":"Example"},"matchConstraints":{"resourceRules": [{"resourceNames": ["fakeName"], "apiGroups":["apps"],"apiVersions":["v1"],"operations":["CREATE", "UPDATE"], "resources":["deployments"]}]},"reinvocationPolicy": "IfNeeded","mutations":[{"applyConfiguration": {"expression":"Object{metadata: Object.metadata{labels: {'example':'true'}}}"}, "patchType":"ApplyConfiguration"}]}}`,
ExpectedEtcdPath: "/registry/mutatingadmissionpolicies/map1b1",
IntroducedVersion: "1.34",
RemovedVersion: "1.40",
}
etcdStorageData[gvr("admissionregistration.k8s.io", "v1beta1", "mutatingadmissionpolicybindings")] = etcddata.StorageData{
Stub: `{"metadata":{"name":"mpb1b1"},"spec":{"policyName":"replicalimit-policy.example.com","paramRef":{"name":"replica-limit-test.example.com", "parameterNotFoundAction": "Allow"}}}`,
ExpectedEtcdPath: "/registry/mutatingadmissionpolicybindings/mpb1b1",
IntroducedVersion: "1.34",
RemovedVersion: "1.40",
}
etcdStorageData[gvr("admissionregistration.k8s.io", "v1alpha1", "mutatingadmissionpolicies")] = etcddata.StorageData{
Stub: `{"metadata":{"name":"map1"},"spec":{"paramKind":{"apiVersion":"test.example.com/v1","kind":"Example"},"matchConstraints":{"resourceRules": [{"resourceNames": ["fakeName"], "apiGroups":["apps"],"apiVersions":["v1"],"operations":["CREATE", "UPDATE"], "resources":["deployments"]}]},"reinvocationPolicy": "IfNeeded","mutations":[{"applyConfiguration": {"expression":"Object{metadata: Object.metadata{labels: {'example':'true'}}}"}, "patchType":"ApplyConfiguration"}]}}`,
ExpectedEtcdPath: "/registry/mutatingadmissionpolicies/map1",
ExpectedGVK: gvkP("admissionregistration.k8s.io", "v1beta1", "MutatingAdmissionPolicy"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("admissionregistration.k8s.io", "v1alpha1", "mutatingadmissionpolicybindings")] = etcddata.StorageData{
Stub: `{"metadata":{"name":"mpb1"},"spec":{"policyName":"replicalimit-policy.example.com","paramRef":{"name":"replica-limit-test.example.com", "parameterNotFoundAction": "Allow"}}}`,
ExpectedEtcdPath: "/registry/mutatingadmissionpolicybindings/mpb1",
ExpectedGVK: gvkP("admissionregistration.k8s.io", "v1beta1", "MutatingAdmissionPolicyBinding"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta1", "deviceclasses")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "class2name"}}`,
ExpectedEtcdPath: "/registry/deviceclasses/class2name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "DeviceClass"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta1", "resourceclaims")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claim2name"}, "spec": {"devices": {"requests": [{"name": "req-0", "deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}]}}}`,
ExpectedEtcdPath: "/registry/resourceclaims/" + oc.Namespace() + "/claim2name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaim"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta1", "resourceclaimtemplates")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claimtemplate2name"}, "spec": {"spec": {"devices": {"requests": [{"name": "req-0", "deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}]}}}}`,
ExpectedEtcdPath: "/registry/resourceclaimtemplates/" + oc.Namespace() + "/claimtemplate2name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaimTemplate"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta1", "resourceslices")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "node2slice"}, "spec": {"nodeName": "worker1", "driver": "dra.example.com", "pool": {"name": "worker1", "resourceSliceCount": 1}}}`,
ExpectedEtcdPath: "/registry/resourceslices/node2slice",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceSlice"),
IntroducedVersion: "1.32",
RemovedVersion: "1.38",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta2", "deviceclasses")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "class3name"}}`,
ExpectedEtcdPath: "/registry/deviceclasses/class3name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "DeviceClass"),
IntroducedVersion: "1.33",
RemovedVersion: "1.39",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta2", "resourceclaims")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claim3name"}, "spec": {"devices": {"requests": [{"name": "req-0", "exactly": {"deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}}]}}}`,
ExpectedEtcdPath: "/registry/resourceclaims/" + oc.Namespace() + "/claim3name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaim"),
IntroducedVersion: "1.33",
RemovedVersion: "1.39",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta2", "resourceclaimtemplates")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claimtemplate3name"}, "spec": {"spec": {"devices": {"requests": [{"name": "req-0", "exactly": {"deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}}]}}}}`,
ExpectedEtcdPath: "/registry/resourceclaimtemplates/" + oc.Namespace() + "/claimtemplate3name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaimTemplate"),
IntroducedVersion: "1.33",
RemovedVersion: "1.39",
}
etcdStorageData[gvr("resource.k8s.io", "v1beta2", "resourceslices")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "node3slice"}, "spec": {"nodeName": "worker1", "driver": "dra.example.com", "pool": {"name": "worker1", "resourceSliceCount": 1}}}`,
ExpectedEtcdPath: "/registry/resourceslices/node3slice",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceSlice"),
IntroducedVersion: "1.33",
RemovedVersion: "1.39",
}
etcdStorageData[gvr("resource.k8s.io", "v1", "deviceclasses")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "class4name"}}`,
ExpectedEtcdPath: "/registry/deviceclasses/class4name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "DeviceClass"),
IntroducedVersion: "1.34",
}
etcdStorageData[gvr("resource.k8s.io", "v1", "resourceclaims")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claim4name"}, "spec": {"devices": {"requests": [{"name": "req-0", "exactly": {"deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}}]}}}`,
ExpectedEtcdPath: "/registry/resourceclaims/" + oc.Namespace() + "/claim4name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaim"),
IntroducedVersion: "1.34",
}
etcdStorageData[gvr("resource.k8s.io", "v1", "resourceclaimtemplates")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "claimtemplate4name"}, "spec": {"spec": {"devices": {"requests": [{"name": "req-0", "exactly": {"deviceClassName": "example-class", "allocationMode": "ExactCount", "count": 1}}]}}}}`,
ExpectedEtcdPath: "/registry/resourceclaimtemplates/" + oc.Namespace() + "/claimtemplate4name",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceClaimTemplate"),
IntroducedVersion: "1.34",
}
etcdStorageData[gvr("resource.k8s.io", "v1", "resourceslices")] = etcddata.StorageData{
Stub: `{"metadata": {"name": "node4slice"}, "spec": {"nodeName": "worker1", "driver": "dra.example.com", "pool": {"name": "worker1", "resourceSliceCount": 1}}}`,
ExpectedEtcdPath: "/registry/resourceslices/node4slice",
ExpectedGVK: gvkP("resource.k8s.io", "v1", "ResourceSlice"),
IntroducedVersion: "1.34",
}
// in k8s.io/kubernetes/test/integration/etcd/data.go in the 1.36 release.

// Removed etcd data.
// TODO: When rebase has started, remove etcd storage data that has been removed
// from k8s.io/kubernetes/test/integration/etcd/data.go in the 1.35 release.
removeStorageData(t, etcdStorageData,
gvr("storagemigration.k8s.io", "v1alpha1", "storageversionmigrations"),
gvr("storage.k8s.io", "v1alpha1", "volumeattributesclasses"),
)
// from k8s.io/kubernetes/test/integration/etcd/data.go in the 1.36 release.
}

// we use a different default path prefix for kube resources
Expand Down
2 changes: 1 addition & 1 deletion test/extended/networking/egress_firewall.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
egressFWE2E = "egress-firewall-e2e"
wcEgressFWE2E = "wildcard-egress-firewall-e2e"
noEgressFWE2E = "no-egress-firewall-e2e"
egressFWTestImage = "registry.k8s.io/e2e-test-images/agnhost:2.56"
egressFWTestImage = "registry.k8s.io/e2e-test-images/agnhost:2.59"
oVNKManifest = "ovnk-egressfirewall-test.yaml"
oVNKWCManifest = "ovnk-egressfirewall-wildcard-test.yaml"
)
Expand Down
2 changes: 1 addition & 1 deletion test/extended/operators/certs.go
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ func fetchOnDiskCertificates(ctx context.Context, kubeClient kubernetes.Interfac
}
defer kubeClient.RbacV1().ClusterRoleBindings().Delete(ctx, nodeReaderCRB, metav1.DeleteOptions{})

pauseImage := image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.56")
pauseImage := image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.59")
podNameOnNode, err := createPods(ctx, kubeClient, namespace, nodeList, testPullSpec, pauseImage)
if err != nil {
return nil, err
Expand Down
2 changes: 1 addition & 1 deletion test/extended/router/config_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ http {
Containers: []corev1.Container{
{
Name: "test",
Image: image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.56"),
Image: image.LocationFor("registry.k8s.io/e2e-test-images/agnhost:2.59"),
Args: []string{"netexec"},
Ports: []corev1.ContainerPort{
{
Expand Down
Loading