From 2dab911ac296ae7c94e1191ce3aa37bbdfd974a8 Mon Sep 17 00:00:00 2001 From: John Schnake Date: Wed, 7 Aug 2019 13:04:20 -0500 Subject: [PATCH] Use imageutils instead of hardcoded image paths A number of tests were using hardcoded image paths instead of going through the imageutils package. The reason for centralizing the logic there is to keep an eye on what images we use and where they come from. --- test/e2e/framework/ingress/BUILD | 1 + test/e2e/framework/ingress/ingress_utils.go | 3 ++- test/e2e/network/kube_proxy.go | 2 +- test/e2e/storage/utils/utils.go | 2 +- test/e2e/storage/volume_provisioning.go | 3 ++- test/utils/image/manifest.go | 18 ++++++++++++++++-- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/test/e2e/framework/ingress/BUILD b/test/e2e/framework/ingress/BUILD index a0e1985286b..528efea8812 100644 --- a/test/e2e/framework/ingress/BUILD +++ b/test/e2e/framework/ingress/BUILD @@ -23,6 +23,7 @@ go_library( "//test/e2e/framework/testfiles:go_default_library", "//test/e2e/manifest:go_default_library", "//test/utils:go_default_library", + "//test/utils/image:go_default_library", "//vendor/github.com/onsi/ginkgo:go_default_library", "//vendor/google.golang.org/api/compute/v1:go_default_library", "//vendor/k8s.io/klog:go_default_library", diff --git a/test/e2e/framework/ingress/ingress_utils.go b/test/e2e/framework/ingress/ingress_utils.go index a2170924b9d..56874d3eec0 100644 --- a/test/e2e/framework/ingress/ingress_utils.go +++ b/test/e2e/framework/ingress/ingress_utils.go @@ -54,6 +54,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework/testfiles" "k8s.io/kubernetes/test/e2e/manifest" testutils "k8s.io/kubernetes/test/utils" + imageutils "k8s.io/kubernetes/test/utils/image" "github.com/onsi/ginkgo" ) @@ -944,7 +945,7 @@ func generateBacksideHTTPSDeploymentSpec() *appsv1.Deployment { Containers: []v1.Container{ { Name: "echoheaders-https", - Image: "k8s.gcr.io/echoserver:1.10", + Image: imageutils.GetE2EImage(imageutils.EchoServer), Ports: []v1.ContainerPort{{ ContainerPort: 8443, Name: "echo-443", diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index ee5297e92dd..118caa691c9 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -242,7 +242,7 @@ var _ = SIGDescribe("Network", func() { Containers: []v1.Container{ { Name: "boom-server", - Image: "gcr.io/kubernetes-e2e-test-images/regression-issue-74839-amd64:1.0", + Image: imageutils.GetE2EImage(imageutils.RegressionIssue74839), Ports: []v1.ContainerPort{ { ContainerPort: 9000, // Default port exposed by boom-server diff --git a/test/e2e/storage/utils/utils.go b/test/e2e/storage/utils/utils.go index 4fe31a2414c..aa84187d42d 100644 --- a/test/e2e/storage/utils/utils.go +++ b/test/e2e/storage/utils/utils.go @@ -442,7 +442,7 @@ func StartExternalProvisioner(c clientset.Interface, ns string, externalPluginNa Containers: []v1.Container{ { Name: "nfs-provisioner", - Image: "quay.io/kubernetes_incubator/nfs-provisioner:v2.2.2", + Image: imageutils.GetE2EImage(imageutils.NFSProvisioner), SecurityContext: &v1.SecurityContext{ Capabilities: &v1.Capabilities{ Add: []v1.Capability{"DAC_READ_SEARCH"}, diff --git a/test/e2e/storage/volume_provisioning.go b/test/e2e/storage/volume_provisioning.go index 844b8ee471a..b5b3bc5fe61 100644 --- a/test/e2e/storage/volume_provisioning.go +++ b/test/e2e/storage/volume_provisioning.go @@ -50,6 +50,7 @@ import ( e2epv "k8s.io/kubernetes/test/e2e/framework/pv" "k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/utils" + imageutils "k8s.io/kubernetes/test/utils/image" ) const ( @@ -972,7 +973,7 @@ func startGlusterDpServerPod(c clientset.Interface, ns string) *v1.Pod { Containers: []v1.Container{ { Name: "glusterdynamic-provisioner", - Image: "docker.io/gluster/glusterdynamic-provisioner:v1.0", + Image: imageutils.GetE2EImage(imageutils.GlusterDynamicProvisioner), Args: []string{ "-config=" + "/etc/heketi/heketi.json", }, diff --git a/test/utils/image/manifest.go b/test/utils/image/manifest.go index 386fc55757c..cd2eee8efa4 100644 --- a/test/utils/image/manifest.go +++ b/test/utils/image/manifest.go @@ -29,6 +29,7 @@ import ( type RegistryList struct { GcAuthenticatedRegistry string `yaml:"gcAuthenticatedRegistry"` DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"` + DockerGluster string `yaml:"dockerGluster"` E2eRegistry string `yaml:"e2eRegistry"` InvalidRegistry string `yaml:"invalidRegistry"` GcRegistry string `yaml:"gcRegistry"` @@ -37,6 +38,7 @@ type RegistryList struct { PrivateRegistry string `yaml:"privateRegistry"` SampleRegistry string `yaml:"sampleRegistry"` QuayK8sCSI string `yaml:"quayK8sCSI"` + QuayIncubator string `yaml:"quayIncubator"` } // Config holds an images registry, name, and version @@ -65,6 +67,7 @@ func initReg() RegistryList { registry := RegistryList{ GcAuthenticatedRegistry: "gcr.io/authenticated-image-pulling", DockerLibraryRegistry: "docker.io/library", + DockerGluster: "docker.io/gluster", E2eRegistry: "gcr.io/kubernetes-e2e-test-images", InvalidRegistry: "invalid.com/invalid", GcRegistry: "k8s.gcr.io", @@ -73,6 +76,7 @@ func initReg() RegistryList { PrivateRegistry: "gcr.io/k8s-authenticated-test", SampleRegistry: "gcr.io/google-samples", QuayK8sCSI: "quay.io/k8scsi", + QuayIncubator: "quay.io/kubernetes_incubator", } repoList := os.Getenv("KUBE_TEST_REPO_LIST") if repoList == "" { @@ -94,14 +98,15 @@ func initReg() RegistryList { var ( registry = initReg() dockerLibraryRegistry = registry.DockerLibraryRegistry + dockerGluster = registry.DockerGluster e2eRegistry = registry.E2eRegistry - e2eGcRegistry = "gcr.io/kubernetes-e2e-test-images" gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry gcRegistry = registry.GcRegistry gcrReleaseRegistry = registry.GcrReleaseRegistry googleContainerRegistry = registry.GoogleContainerRegistry invalidRegistry = registry.InvalidRegistry quayK8sCSI = registry.QuayK8sCSI + quayIncubator = registry.QuayIncubator // PrivateRegistry is an image repository that requires authentication PrivateRegistry = registry.PrivateRegistry sampleRegistry = registry.SampleRegistry @@ -141,6 +146,8 @@ const ( Etcd // GBFrontend image GBFrontend + // GlusterDynamicProvisioner image + GlusterDynamicProvisioner // Httpd image Httpd // HttpdNew image @@ -161,6 +168,8 @@ const ( MounttestUser // Nautilus image Nautilus + // NFSProvisioner image + NFSProvisioner // Nginx image Nginx // NginxNew image @@ -180,6 +189,8 @@ const ( PrometheusToSd // Redis image Redis + // RegressionIssue74839 image + RegressionIssue74839 // ResourceConsumer image ResourceConsumer // ResourceController image @@ -219,6 +230,7 @@ func initImageConfigs() map[int]Config { configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"} configs[Etcd] = Config{gcRegistry, "etcd", "3.3.15"} configs[GBFrontend] = Config{sampleRegistry, "gb-frontend", "v6"} + configs[GlusterDynamicProvisioner] = Config{dockerGluster, "glusterdynamic-provisioner", "v1.0"} configs[Httpd] = Config{dockerLibraryRegistry, "httpd", "2.4.38-alpine"} configs[HttpdNew] = Config{dockerLibraryRegistry, "httpd", "2.4.39-alpine"} configs[Invalid] = Config{gcRegistry, "invalid-image", "invalid-tag"} @@ -229,6 +241,7 @@ func initImageConfigs() map[int]Config { configs[Mounttest] = Config{e2eRegistry, "mounttest", "1.0"} configs[MounttestUser] = Config{e2eRegistry, "mounttest-user", "1.0"} configs[Nautilus] = Config{e2eRegistry, "nautilus", "1.0"} + configs[NFSProvisioner] = Config{quayIncubator, "nfs-provisioner", "v2.2.0-k8s1.12"} configs[Nginx] = Config{dockerLibraryRegistry, "nginx", "1.14-alpine"} configs[NginxNew] = Config{dockerLibraryRegistry, "nginx", "1.15-alpine"} configs[Nonewprivs] = Config{e2eRegistry, "nonewprivs", "1.0"} @@ -239,6 +252,7 @@ func initImageConfigs() map[int]Config { configs[PrometheusDummyExporter] = Config{gcRegistry, "prometheus-dummy-exporter", "v0.1.0"} configs[PrometheusToSd] = Config{gcRegistry, "prometheus-to-sd", "v0.5.0"} 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"} @@ -248,7 +262,7 @@ func initImageConfigs() map[int]Config { configs[VolumeISCSIServer] = Config{e2eRegistry, "volume/iscsi", "2.0"} configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"} configs[VolumeRBDServer] = Config{e2eRegistry, "volume/rbd", "1.0.1"} - configs[WindowsNanoServer] = Config{e2eGcRegistry, "windows-nanoserver", "v1"} + configs[WindowsNanoServer] = Config{e2eRegistry, "windows-nanoserver", "v1"} return configs }