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.
This commit is contained in:
John Schnake 2019-08-07 13:04:20 -05:00
parent 7342823f3e
commit 2dab911ac2
6 changed files with 23 additions and 6 deletions

View File

@ -23,6 +23,7 @@ go_library(
"//test/e2e/framework/testfiles:go_default_library", "//test/e2e/framework/testfiles:go_default_library",
"//test/e2e/manifest:go_default_library", "//test/e2e/manifest:go_default_library",
"//test/utils:go_default_library", "//test/utils:go_default_library",
"//test/utils/image:go_default_library",
"//vendor/github.com/onsi/ginkgo:go_default_library", "//vendor/github.com/onsi/ginkgo:go_default_library",
"//vendor/google.golang.org/api/compute/v1:go_default_library", "//vendor/google.golang.org/api/compute/v1:go_default_library",
"//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/klog:go_default_library",

View File

@ -54,6 +54,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework/testfiles" "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/manifest" "k8s.io/kubernetes/test/e2e/manifest"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -944,7 +945,7 @@ func generateBacksideHTTPSDeploymentSpec() *appsv1.Deployment {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "echoheaders-https", Name: "echoheaders-https",
Image: "k8s.gcr.io/echoserver:1.10", Image: imageutils.GetE2EImage(imageutils.EchoServer),
Ports: []v1.ContainerPort{{ Ports: []v1.ContainerPort{{
ContainerPort: 8443, ContainerPort: 8443,
Name: "echo-443", Name: "echo-443",

View File

@ -242,7 +242,7 @@ var _ = SIGDescribe("Network", func() {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "boom-server", Name: "boom-server",
Image: "gcr.io/kubernetes-e2e-test-images/regression-issue-74839-amd64:1.0", Image: imageutils.GetE2EImage(imageutils.RegressionIssue74839),
Ports: []v1.ContainerPort{ Ports: []v1.ContainerPort{
{ {
ContainerPort: 9000, // Default port exposed by boom-server ContainerPort: 9000, // Default port exposed by boom-server

View File

@ -442,7 +442,7 @@ func StartExternalProvisioner(c clientset.Interface, ns string, externalPluginNa
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "nfs-provisioner", Name: "nfs-provisioner",
Image: "quay.io/kubernetes_incubator/nfs-provisioner:v2.2.2", Image: imageutils.GetE2EImage(imageutils.NFSProvisioner),
SecurityContext: &v1.SecurityContext{ SecurityContext: &v1.SecurityContext{
Capabilities: &v1.Capabilities{ Capabilities: &v1.Capabilities{
Add: []v1.Capability{"DAC_READ_SEARCH"}, Add: []v1.Capability{"DAC_READ_SEARCH"},

View File

@ -50,6 +50,7 @@ import (
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image"
) )
const ( const (
@ -972,7 +973,7 @@ func startGlusterDpServerPod(c clientset.Interface, ns string) *v1.Pod {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "glusterdynamic-provisioner", Name: "glusterdynamic-provisioner",
Image: "docker.io/gluster/glusterdynamic-provisioner:v1.0", Image: imageutils.GetE2EImage(imageutils.GlusterDynamicProvisioner),
Args: []string{ Args: []string{
"-config=" + "/etc/heketi/heketi.json", "-config=" + "/etc/heketi/heketi.json",
}, },

View File

@ -29,6 +29,7 @@ import (
type RegistryList struct { type RegistryList struct {
GcAuthenticatedRegistry string `yaml:"gcAuthenticatedRegistry"` GcAuthenticatedRegistry string `yaml:"gcAuthenticatedRegistry"`
DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"` DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"`
DockerGluster string `yaml:"dockerGluster"`
E2eRegistry string `yaml:"e2eRegistry"` E2eRegistry string `yaml:"e2eRegistry"`
InvalidRegistry string `yaml:"invalidRegistry"` InvalidRegistry string `yaml:"invalidRegistry"`
GcRegistry string `yaml:"gcRegistry"` GcRegistry string `yaml:"gcRegistry"`
@ -37,6 +38,7 @@ type RegistryList struct {
PrivateRegistry string `yaml:"privateRegistry"` PrivateRegistry string `yaml:"privateRegistry"`
SampleRegistry string `yaml:"sampleRegistry"` SampleRegistry string `yaml:"sampleRegistry"`
QuayK8sCSI string `yaml:"quayK8sCSI"` QuayK8sCSI string `yaml:"quayK8sCSI"`
QuayIncubator string `yaml:"quayIncubator"`
} }
// Config holds an images registry, name, and version // Config holds an images registry, name, and version
@ -65,6 +67,7 @@ func initReg() RegistryList {
registry := RegistryList{ registry := RegistryList{
GcAuthenticatedRegistry: "gcr.io/authenticated-image-pulling", GcAuthenticatedRegistry: "gcr.io/authenticated-image-pulling",
DockerLibraryRegistry: "docker.io/library", DockerLibraryRegistry: "docker.io/library",
DockerGluster: "docker.io/gluster",
E2eRegistry: "gcr.io/kubernetes-e2e-test-images", E2eRegistry: "gcr.io/kubernetes-e2e-test-images",
InvalidRegistry: "invalid.com/invalid", InvalidRegistry: "invalid.com/invalid",
GcRegistry: "k8s.gcr.io", GcRegistry: "k8s.gcr.io",
@ -73,6 +76,7 @@ func initReg() RegistryList {
PrivateRegistry: "gcr.io/k8s-authenticated-test", PrivateRegistry: "gcr.io/k8s-authenticated-test",
SampleRegistry: "gcr.io/google-samples", SampleRegistry: "gcr.io/google-samples",
QuayK8sCSI: "quay.io/k8scsi", QuayK8sCSI: "quay.io/k8scsi",
QuayIncubator: "quay.io/kubernetes_incubator",
} }
repoList := os.Getenv("KUBE_TEST_REPO_LIST") repoList := os.Getenv("KUBE_TEST_REPO_LIST")
if repoList == "" { if repoList == "" {
@ -94,14 +98,15 @@ func initReg() RegistryList {
var ( var (
registry = initReg() registry = initReg()
dockerLibraryRegistry = registry.DockerLibraryRegistry dockerLibraryRegistry = registry.DockerLibraryRegistry
dockerGluster = registry.DockerGluster
e2eRegistry = registry.E2eRegistry e2eRegistry = registry.E2eRegistry
e2eGcRegistry = "gcr.io/kubernetes-e2e-test-images"
gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry
gcRegistry = registry.GcRegistry gcRegistry = registry.GcRegistry
gcrReleaseRegistry = registry.GcrReleaseRegistry gcrReleaseRegistry = registry.GcrReleaseRegistry
googleContainerRegistry = registry.GoogleContainerRegistry googleContainerRegistry = registry.GoogleContainerRegistry
invalidRegistry = registry.InvalidRegistry invalidRegistry = registry.InvalidRegistry
quayK8sCSI = registry.QuayK8sCSI quayK8sCSI = registry.QuayK8sCSI
quayIncubator = registry.QuayIncubator
// PrivateRegistry is an image repository that requires authentication // PrivateRegistry is an image repository that requires authentication
PrivateRegistry = registry.PrivateRegistry PrivateRegistry = registry.PrivateRegistry
sampleRegistry = registry.SampleRegistry sampleRegistry = registry.SampleRegistry
@ -141,6 +146,8 @@ const (
Etcd Etcd
// GBFrontend image // GBFrontend image
GBFrontend GBFrontend
// GlusterDynamicProvisioner image
GlusterDynamicProvisioner
// Httpd image // Httpd image
Httpd Httpd
// HttpdNew image // HttpdNew image
@ -161,6 +168,8 @@ const (
MounttestUser MounttestUser
// Nautilus image // Nautilus image
Nautilus Nautilus
// NFSProvisioner image
NFSProvisioner
// Nginx image // Nginx image
Nginx Nginx
// NginxNew image // NginxNew image
@ -180,6 +189,8 @@ const (
PrometheusToSd PrometheusToSd
// Redis image // Redis image
Redis Redis
// RegressionIssue74839 image
RegressionIssue74839
// ResourceConsumer image // ResourceConsumer image
ResourceConsumer ResourceConsumer
// ResourceController image // ResourceController image
@ -219,6 +230,7 @@ func initImageConfigs() map[int]Config {
configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"} configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"}
configs[Etcd] = Config{gcRegistry, "etcd", "3.3.15"} configs[Etcd] = Config{gcRegistry, "etcd", "3.3.15"}
configs[GBFrontend] = Config{sampleRegistry, "gb-frontend", "v6"} 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[Httpd] = Config{dockerLibraryRegistry, "httpd", "2.4.38-alpine"}
configs[HttpdNew] = Config{dockerLibraryRegistry, "httpd", "2.4.39-alpine"} configs[HttpdNew] = Config{dockerLibraryRegistry, "httpd", "2.4.39-alpine"}
configs[Invalid] = Config{gcRegistry, "invalid-image", "invalid-tag"} 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[Mounttest] = Config{e2eRegistry, "mounttest", "1.0"}
configs[MounttestUser] = Config{e2eRegistry, "mounttest-user", "1.0"} configs[MounttestUser] = Config{e2eRegistry, "mounttest-user", "1.0"}
configs[Nautilus] = Config{e2eRegistry, "nautilus", "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[Nginx] = Config{dockerLibraryRegistry, "nginx", "1.14-alpine"}
configs[NginxNew] = Config{dockerLibraryRegistry, "nginx", "1.15-alpine"} configs[NginxNew] = Config{dockerLibraryRegistry, "nginx", "1.15-alpine"}
configs[Nonewprivs] = Config{e2eRegistry, "nonewprivs", "1.0"} 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[PrometheusDummyExporter] = Config{gcRegistry, "prometheus-dummy-exporter", "v0.1.0"}
configs[PrometheusToSd] = Config{gcRegistry, "prometheus-to-sd", "v0.5.0"} configs[PrometheusToSd] = Config{gcRegistry, "prometheus-to-sd", "v0.5.0"}
configs[Redis] = Config{dockerLibraryRegistry, "redis", "5.0.5-alpine"} 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[ResourceConsumer] = Config{e2eRegistry, "resource-consumer", "1.5"}
configs[ResourceController] = Config{e2eRegistry, "resource-consumer-controller", "1.0"} configs[ResourceController] = Config{e2eRegistry, "resource-consumer-controller", "1.0"}
configs[SdDummyExporter] = Config{gcRegistry, "sd-dummy-exporter", "v0.2.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[VolumeISCSIServer] = Config{e2eRegistry, "volume/iscsi", "2.0"}
configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"} configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"}
configs[VolumeRBDServer] = Config{e2eRegistry, "volume/rbd", "1.0.1"} 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 return configs
} }