From 74183e0d888d4841a4253c90b1d0e835b2578f62 Mon Sep 17 00:00:00 2001 From: Rafael Fonseca Date: Fri, 10 Jul 2020 08:42:20 +0200 Subject: [PATCH] Make nested /volume/ repo images overridable The multi-arch container images used in tests live in quay.io which doesn't support nesting. By making the /volume/ images repo configurable, we are able to override them despite our current limitation. Signed-off-by: Rafael Fonseca --- test/utils/image/manifest.go | 13 +++++++++---- test/utils/image/manifest_test.go | 8 ++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/test/utils/image/manifest.go b/test/utils/image/manifest.go index adac5048931..ae7d33dbd7d 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"` + E2eVolumeRegistry string `yaml:"e2eVolumeRegistry"` PromoterE2eRegistry string `yaml:"promoterE2eRegistry"` BuildImageRegistry string `yaml:"buildImageRegistry"` InvalidRegistry string `yaml:"invalidRegistry"` @@ -71,6 +72,7 @@ func initReg() RegistryList { DockerLibraryRegistry: "docker.io/library", DockerGluster: "docker.io/gluster", E2eRegistry: "gcr.io/kubernetes-e2e-test-images", + E2eVolumeRegistry: "gcr.io/kubernetes-e2e-test-images/volume", // TODO: After the domain flip, this should instead be k8s.gcr.io/k8s-artifacts-prod/e2e-test-images PromoterE2eRegistry: "us.gcr.io/k8s-artifacts-prod/e2e-test-images", BuildImageRegistry: "us.gcr.io/k8s-artifacts-prod/build-image", @@ -105,6 +107,7 @@ var ( dockerLibraryRegistry = registry.DockerLibraryRegistry dockerGluster = registry.DockerGluster e2eRegistry = registry.E2eRegistry + e2eVolumeRegistry = registry.E2eVolumeRegistry promoterE2eRegistry = registry.PromoterE2eRegistry buildImageRegistry = registry.BuildImageRegistry gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry @@ -237,10 +240,10 @@ func initImageConfigs() map[int]Config { configs[RegressionIssue74839] = Config{e2eRegistry, "regression-issue-74839-amd64", "1.0"} configs[ResourceConsumer] = Config{e2eRegistry, "resource-consumer", "1.5"} configs[SdDummyExporter] = Config{gcRegistry, "sd-dummy-exporter", "v0.2.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"} - configs[VolumeRBDServer] = Config{e2eRegistry, "volume/rbd", "1.0.1"} + configs[VolumeNFSServer] = Config{e2eVolumeRegistry, "nfs", "1.0"} + configs[VolumeISCSIServer] = Config{e2eVolumeRegistry, "iscsi", "2.0"} + configs[VolumeGlusterServer] = Config{e2eVolumeRegistry, "gluster", "1.0"} + configs[VolumeRBDServer] = Config{e2eVolumeRegistry, "rbd", "1.0.1"} return configs } @@ -278,6 +281,8 @@ func ReplaceRegistryInImageURL(imageURL string) (string, error) { switch registryAndUser { case "gcr.io/kubernetes-e2e-test-images": registryAndUser = e2eRegistry + case "gcr.io/kubernetes-e2e-test-images/volume": + registryAndUser = e2eVolumeRegistry case "k8s.gcr.io": registryAndUser = gcRegistry case "gcr.io/k8s-authenticated-test": diff --git a/test/utils/image/manifest_test.go b/test/utils/image/manifest_test.go index 401dd7fa9c1..4c4faffb576 100644 --- a/test/utils/image/manifest_test.go +++ b/test/utils/image/manifest_test.go @@ -58,6 +58,13 @@ var registryTests = []struct { err: nil, }, }, + { + "gcr.io/kubernetes-e2e-test-images/volume/test:123", + result{ + result: "test.io/kubernetes-e2e-test-images/volume/test:123", + err: nil, + }, + }, { "k8s.gcr.io/test:123", result{ @@ -107,6 +114,7 @@ func TestReplaceRegistryInImageURL(t *testing.T) { // Set custom registries dockerLibraryRegistry = "test.io/library" e2eRegistry = "test.io/kubernetes-e2e-test-images" + e2eVolumeRegistry = "test.io/kubernetes-e2e-test-images/volume" gcRegistry = "test.io" gcrReleaseRegistry = "test.io/gke-release" PrivateRegistry = "test.io/k8s-authenticated-test"