diff --git a/test/e2e/common/container_probe.go b/test/e2e/common/container_probe.go index b8ca22350ec..d7307c4d152 100644 --- a/test/e2e/common/container_probe.go +++ b/test/e2e/common/container_probe.go @@ -303,7 +303,8 @@ func testWebServerPodSpec(readinessProbe, livenessProbe *v1.Probe, containerName Containers: []v1.Container{ { Name: containerName, - Image: imageutils.GetE2EImage(imageutils.TestWebserver), + Image: imageutils.GetE2EImage(imageutils.Agnhost), + Args: []string{"test-webserver"}, Ports: []v1.ContainerPort{{ContainerPort: int32(port)}}, LivenessProbe: livenessProbe, ReadinessProbe: readinessProbe, diff --git a/test/e2e/common/util.go b/test/e2e/common/util.go index 5357f7f17eb..7db5b51200d 100644 --- a/test/e2e/common/util.go +++ b/test/e2e/common/util.go @@ -68,7 +68,6 @@ var CommonImageWhiteList = sets.NewString( imageutils.GetE2EImage(imageutils.MounttestUser), imageutils.GetE2EImage(imageutils.Nginx), imageutils.GetE2EImage(imageutils.Httpd), - imageutils.GetE2EImage(imageutils.TestWebserver), imageutils.GetE2EImage(imageutils.VolumeNFSServer), imageutils.GetE2EImage(imageutils.VolumeGlusterServer), imageutils.GetE2EImage(imageutils.NonRoot), diff --git a/test/e2e/framework/autoscaling/autoscaling_utils.go b/test/e2e/framework/autoscaling/autoscaling_utils.go index c9a7e0f7360..f1859f3cb15 100644 --- a/test/e2e/framework/autoscaling/autoscaling_utils.go +++ b/test/e2e/framework/autoscaling/autoscaling_utils.go @@ -64,8 +64,7 @@ const ( ) var ( - resourceConsumerImage = imageutils.GetE2EImage(imageutils.ResourceConsumer) - resourceConsumerControllerImage = imageutils.GetE2EImage(imageutils.ResourceController) + resourceConsumerImage = imageutils.GetE2EImage(imageutils.ResourceConsumer) ) var ( @@ -500,12 +499,12 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name st dnsClusterFirst := v1.DNSClusterFirst controllerRcConfig := testutils.RCConfig{ Client: c, - Image: resourceConsumerControllerImage, + Image: imageutils.GetE2EImage(imageutils.Agnhost), Name: controllerName, Namespace: ns, Timeout: timeoutRC, Replicas: 1, - Command: []string{"/controller", "--consumer-service-name=" + name, "--consumer-service-namespace=" + ns, "--consumer-port=80"}, + Command: []string{"/agnhost", "resource-consumer-controller", "--consumer-service-name=" + name, "--consumer-service-namespace=" + ns, "--consumer-port=80"}, DNSPolicy: &dnsClusterFirst, } framework.ExpectNoError(e2erc.RunRC(controllerRcConfig)) diff --git a/test/e2e/network/dns_common.go b/test/e2e/network/dns_common.go index dfef0b3f226..f5052d8ec37 100644 --- a/test/e2e/network/dns_common.go +++ b/test/e2e/network/dns_common.go @@ -396,7 +396,8 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd, podHostName, servic // TODO: Consider scraping logs instead of running a webserver. { Name: "webserver", - Image: imageutils.GetE2EImage(imageutils.TestWebserver), + Image: imageutils.GetE2EImage(imageutils.Agnhost), + Args: []string{"test-webserver"}, Ports: []v1.ContainerPort{ { Name: "http", diff --git a/test/e2e/network/dual_stack.go b/test/e2e/network/dual_stack.go index 45f086c4755..59c3c8c7e83 100644 --- a/test/e2e/network/dual_stack.go +++ b/test/e2e/network/dual_stack.go @@ -139,8 +139,9 @@ var _ = SIGDescribe("[Feature:IPv6DualStackAlphaFeature] [LinuxOnly]", func() { replicas, map[string]string{"test": "dual-stack-server"}, "dualstack-test-server", - imageutils.GetE2EImage(imageutils.TestWebserver), + imageutils.GetE2EImage(imageutils.Agnhost), appsv1.RollingUpdateDeploymentStrategyType) + serverDeploymentSpec.Spec.Template.Spec.Containers[0].Args = []string{"test-webserver"} // to ensure all the pods land on different nodes and we can thereby // validate connectivity across all nodes. diff --git a/test/e2e/network/fixture.go b/test/e2e/network/fixture.go index d53ad50011c..bfe07231415 100644 --- a/test/e2e/network/fixture.go +++ b/test/e2e/network/fixture.go @@ -60,7 +60,7 @@ func NewServerTest(client clientset.Interface, namespace string, serviceName str t.services = make(map[string]bool) t.Name = "webserver" - t.Image = imageutils.GetE2EImage(imageutils.TestWebserver) + t.Image = imageutils.GetE2EImage(imageutils.Agnhost) return t } diff --git a/test/e2e/storage/empty_dir_wrapper.go b/test/e2e/storage/empty_dir_wrapper.go index 19ef8039550..6fcadeebdd8 100644 --- a/test/e2e/storage/empty_dir_wrapper.go +++ b/test/e2e/storage/empty_dir_wrapper.go @@ -127,7 +127,8 @@ var _ = utils.SIGDescribe("EmptyDir wrapper volumes", func() { Containers: []v1.Container{ { Name: "secret-test", - Image: imageutils.GetE2EImage(imageutils.TestWebserver), + Image: imageutils.GetE2EImage(imageutils.Agnhost), + Args: []string{"test-webserver"}, VolumeMounts: []v1.VolumeMount{ { Name: volumeName, diff --git a/test/e2e/windows/hybrid_network.go b/test/e2e/windows/hybrid_network.go index 82a6fc4bc68..ea0b1ac8c5e 100644 --- a/test/e2e/windows/hybrid_network.go +++ b/test/e2e/windows/hybrid_network.go @@ -36,7 +36,7 @@ const ( ) var ( - windowsBusyBoximage = imageutils.GetE2EImage(imageutils.TestWebserver) + windowsBusyBoximage = imageutils.GetE2EImage(imageutils.Agnhost) linuxBusyBoxImage = "docker.io/library/nginx:1.15-alpine" ) @@ -53,6 +53,7 @@ var _ = SIGDescribe("Hybrid cluster network", func() { ginkgo.By("creating linux and windows pods") linuxPod := createTestPod(f, linuxBusyBoxImage, linuxOS) windowsPod := createTestPod(f, windowsBusyBoximage, windowsOS) + windowsPod.Spec.Containers[0].Args = []string{"test-webserver"} ginkgo.By("checking connectivity to 8.8.8.8 53 (google.com) from Linux") assertConsistentConnectivity(f, linuxPod.ObjectMeta.Name, linuxOS, linuxCheck("8.8.8.8", 53)) diff --git a/test/e2e_node/container_manager_test.go b/test/e2e_node/container_manager_test.go index afaf3bf0234..135bc989303 100644 --- a/test/e2e_node/container_manager_test.go +++ b/test/e2e_node/container_manager_test.go @@ -220,7 +220,8 @@ var _ = framework.KubeDescribe("Container Manager Misc [Serial]", func() { Spec: v1.PodSpec{ Containers: []v1.Container{ { - Image: imageutils.GetE2EImage(imageutils.TestWebserver), + Image: imageutils.GetE2EImage(imageutils.Agnhost), + Args: []string{"test-webserver"}, Name: podName, Resources: v1.ResourceRequirements{ Requests: v1.ResourceList{ diff --git a/test/images/agnhost/README.md b/test/images/agnhost/README.md index bd2b4986d8e..b797ee47f57 100644 --- a/test/images/agnhost/README.md +++ b/test/images/agnhost/README.md @@ -40,7 +40,7 @@ For example, let's consider the following `pod.yaml` file: containers: - args: - dns-suffix - image: gcr.io/kubernetes-e2e-test-images/agnhost:2.10 + image: us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 name: agnhost dnsConfig: nameservers: @@ -207,7 +207,7 @@ Usage: ```console guestbook="test/e2e/testing-manifests/guestbook" -sed_expr="s|{{.AgnhostImage}}|gcr.io/kubernetes-e2e-test-images/agnhost:2.8|" +sed_expr="s|{{.AgnhostImage}}|us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10|" # create the services. kubectl create -f ${guestbook}/frontend-service.yaml @@ -290,14 +290,14 @@ Examples: ```console docker run -i \ - gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \ + us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \ logs-generator --log-lines-total 10 --run-duration 1s ``` ```console kubectl run logs-generator \ --generator=run-pod/v1 \ - --image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \ + --image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \ --restart=Never \ -- logs-generator -t 10 -d 1s ``` @@ -455,7 +455,7 @@ Usage: ```console kubectl run test-agnhost \ --generator=run-pod/v1 \ - --image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \ + --image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \ --restart=Never \ --env "POD_IP=" \ --env "NODE_IP=" \ @@ -510,7 +510,7 @@ Usage: ```console kubectl run test-agnhost \ --generator=run-pod/v1 \ - --image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \ + --image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \ --restart=Never \ --env "BIND_ADDRESS=localhost" \ --env "BIND_PORT=8080" \ @@ -631,6 +631,6 @@ The image contains `iperf`, `curl`, `dns-tools` (including `dig`), CoreDNS. ## Image -The image can be found at `gcr.io/kubernetes-e2e-test-images/agnhost:2.10` for Linux -containers, and `e2eteam/agnhost:2.8` for Windows containers. In the future, the same +The image can be found at `us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10` for Linux +containers, and `e2eteam/agnhost:2.10` for Windows containers. In the future, the same repository can be used for both OSes. diff --git a/test/utils/image/manifest.go b/test/utils/image/manifest.go index 9fedd100d25..d05f0174a35 100644 --- a/test/utils/image/manifest.go +++ b/test/utils/image/manifest.go @@ -31,6 +31,7 @@ type RegistryList struct { DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"` DockerGluster string `yaml:"dockerGluster"` E2eRegistry string `yaml:"e2eRegistry"` + PromoterE2eRegistry string `yaml:"promoterE2eRegistry"` InvalidRegistry string `yaml:"invalidRegistry"` GcRegistry string `yaml:"gcRegistry"` GcrReleaseRegistry string `yaml:"gcrReleaseRegistry"` @@ -69,6 +70,7 @@ func initReg() RegistryList { DockerLibraryRegistry: "docker.io/library", DockerGluster: "docker.io/gluster", E2eRegistry: "gcr.io/kubernetes-e2e-test-images", + PromoterE2eRegistry: "us.gcr.io/k8s-artifacts-prod/e2e-test-images", InvalidRegistry: "invalid.com/invalid", GcRegistry: "k8s.gcr.io", GcrReleaseRegistry: "gcr.io/gke-release", @@ -100,6 +102,7 @@ var ( dockerLibraryRegistry = registry.DockerLibraryRegistry dockerGluster = registry.DockerGluster e2eRegistry = registry.E2eRegistry + promoterE2eRegistry = registry.PromoterE2eRegistry gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry gcRegistry = registry.GcRegistry gcrReleaseRegistry = registry.GcrReleaseRegistry @@ -187,14 +190,10 @@ const ( RegressionIssue74839 // ResourceConsumer image ResourceConsumer - // ResourceController image - ResourceController // SdDummyExporter image SdDummyExporter // StartupScript image StartupScript - // TestWebserver image - TestWebserver // VolumeNFSServer image VolumeNFSServer // VolumeISCSIServer image @@ -207,7 +206,7 @@ const ( func initImageConfigs() map[int]Config { configs := map[int]Config{} - configs[Agnhost] = Config{e2eRegistry, "agnhost", "2.8"} + configs[Agnhost] = Config{promoterE2eRegistry, "agnhost", "2.10"} configs[AgnhostPrivate] = Config{PrivateRegistry, "agnhost", "2.6"} configs[AuthenticatedAlpine] = Config{gcAuthenticatedRegistry, "alpine", "3.7"} configs[AuthenticatedWindowsNanoServer] = Config{gcAuthenticatedRegistry, "windows-nanoserver", "v1"} @@ -243,10 +242,8 @@ func initImageConfigs() map[int]Config { configs[Redis] = Config{dockerLibraryRegistry, "redis", "5.0.5-alpine"} configs[RegressionIssue74839] = Config{e2eRegistry, "regression-issue-74839-amd64", "1.0"} configs[ResourceConsumer] = Config{e2eRegistry, "resource-consumer", "1.5"} - configs[ResourceController] = Config{e2eRegistry, "resource-consumer-controller", "1.0"} configs[SdDummyExporter] = Config{gcRegistry, "sd-dummy-exporter", "v0.2.0"} configs[StartupScript] = Config{googleContainerRegistry, "startup-script", "v1"} - configs[TestWebserver] = Config{e2eRegistry, "test-webserver", "1.0"} configs[VolumeNFSServer] = Config{e2eRegistry, "volume/nfs", "1.0"} configs[VolumeISCSIServer] = Config{e2eRegistry, "volume/iscsi", "2.0"} configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"}