Add references of registry and image from imageutils

This commit is contained in:
Mayank Gaikwad 2019-05-15 11:39:47 +05:30
parent f49fe2a750
commit 3377737af2
7 changed files with 84 additions and 34 deletions

View File

@ -26,6 +26,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/images" "k8s.io/kubernetes/pkg/kubelet/images"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
imageutils "k8s.io/kubernetes/test/utils/image"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -353,28 +354,28 @@ while true; do sleep 1; done
} }
ginkgo.It("should not be able to pull image from invalid registry [NodeConformance]", func() { ginkgo.It("should not be able to pull image from invalid registry [NodeConformance]", func() {
image := "invalid.com/invalid/alpine:3.1" image := imageutils.GetE2EImage(imageutils.InvalidRegistryImage)
imagePullTest(image, false, v1.PodPending, true, false) imagePullTest(image, false, v1.PodPending, true, false)
}) })
ginkgo.It("should not be able to pull non-existing image from gcr.io [NodeConformance]", func() { ginkgo.It("should not be able to pull non-existing image from gcr.io [NodeConformance]", func() {
image := "k8s.gcr.io/invalid-image:invalid-tag" image := imageutils.GetE2EImage(imageutils.Invalid)
imagePullTest(image, false, v1.PodPending, true, false) imagePullTest(image, false, v1.PodPending, true, false)
}) })
ginkgo.It("should be able to pull image from gcr.io [LinuxOnly] [NodeConformance]", func() { ginkgo.It("should be able to pull image from gcr.io [LinuxOnly] [NodeConformance]", func() {
image := "gcr.io/google-containers/debian-base:0.4.1" image := imageutils.GetE2EImage(imageutils.DebianBase)
imagePullTest(image, false, v1.PodRunning, false, false) imagePullTest(image, false, v1.PodRunning, false, false)
}) })
ginkgo.It("should be able to pull image from gcr.io [NodeConformance]", func() { ginkgo.It("should be able to pull image from gcr.io [NodeConformance]", func() {
framework.SkipUnlessNodeOSDistroIs("windows") framework.SkipUnlessNodeOSDistroIs("windows")
image := "gcr.io/kubernetes-e2e-test-images/windows-nanoserver:v1" image := imageutils.GetE2EImage(imageutils.WindowsNanoServer)
imagePullTest(image, false, v1.PodRunning, false, true) imagePullTest(image, false, v1.PodRunning, false, true)
}) })
ginkgo.It("should be able to pull image from docker hub [LinuxOnly] [NodeConformance]", func() { ginkgo.It("should be able to pull image from docker hub [LinuxOnly] [NodeConformance]", func() {
image := "alpine:3.7" image := imageutils.GetE2EImage(imageutils.Alpine)
imagePullTest(image, false, v1.PodRunning, false, false) imagePullTest(image, false, v1.PodRunning, false, false)
}) })
@ -386,18 +387,18 @@ while true; do sleep 1; done
}) })
ginkgo.It("should not be able to pull from private registry without secret [NodeConformance]", func() { ginkgo.It("should not be able to pull from private registry without secret [NodeConformance]", func() {
image := "gcr.io/authenticated-image-pulling/alpine:3.7" image := imageutils.GetE2EImage(imageutils.AuthenticatedAlpine)
imagePullTest(image, false, v1.PodPending, true, false) imagePullTest(image, false, v1.PodPending, true, false)
}) })
ginkgo.It("should be able to pull from private registry with secret [LinuxOnly] [NodeConformance]", func() { ginkgo.It("should be able to pull from private registry with secret [LinuxOnly] [NodeConformance]", func() {
image := "gcr.io/authenticated-image-pulling/alpine:3.7" image := imageutils.GetE2EImage(imageutils.AuthenticatedAlpine)
imagePullTest(image, true, v1.PodRunning, false, false) imagePullTest(image, true, v1.PodRunning, false, false)
}) })
ginkgo.It("should be able to pull from private registry with secret [NodeConformance]", func() { ginkgo.It("should be able to pull from private registry with secret [NodeConformance]", func() {
framework.SkipUnlessNodeOSDistroIs("windows") framework.SkipUnlessNodeOSDistroIs("windows")
image := "gcr.io/authenticated-image-pulling/windows-nanoserver:v1" image := imageutils.GetE2EImage(imageutils.AuthenticatedWindowsNanoServer)
imagePullTest(image, true, v1.PodRunning, false, true) imagePullTest(image, true, v1.PodRunning, false, true)
}) })
}) })

View File

@ -28,6 +28,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
imageutils "k8s.io/kubernetes/test/utils/image"
) )
var ( var (
@ -145,7 +146,7 @@ func StackdriverExporterPod(podName, namespace, podLabel, metricName string, met
func stackdriverExporterContainerSpec(name string, namespace string, metricName string, metricValue int64) corev1.Container { func stackdriverExporterContainerSpec(name string, namespace string, metricName string, metricValue int64) corev1.Container {
return corev1.Container{ return corev1.Container{
Name: name, Name: name,
Image: "k8s.gcr.io/sd-dummy-exporter:v0.2.0", Image: imageutils.GetE2EImage(imageutils.SdDummyExporter),
ImagePullPolicy: corev1.PullPolicy("Always"), ImagePullPolicy: corev1.PullPolicy("Always"),
Command: []string{ Command: []string{
"/bin/sh", "/bin/sh",
@ -214,7 +215,7 @@ func prometheusExporterPodSpec(metricName string, metricValue int64, port int32)
Containers: []corev1.Container{ Containers: []corev1.Container{
{ {
Name: "prometheus-exporter", Name: "prometheus-exporter",
Image: "k8s.gcr.io/prometheus-dummy-exporter:v0.1.0", Image: imageutils.GetE2EImage(imageutils.PrometheusDummyExporter),
ImagePullPolicy: corev1.PullPolicy("Always"), ImagePullPolicy: corev1.PullPolicy("Always"),
Command: []string{"/prometheus_dummy_exporter", "--metric-name=" + metricName, Command: []string{"/prometheus_dummy_exporter", "--metric-name=" + metricName,
fmt.Sprintf("--metric-value=%v", metricValue), fmt.Sprintf("=--port=%d", port)}, fmt.Sprintf("--metric-value=%v", metricValue), fmt.Sprintf("=--port=%d", port)},
@ -222,7 +223,7 @@ func prometheusExporterPodSpec(metricName string, metricValue int64, port int32)
}, },
{ {
Name: "prometheus-to-sd", Name: "prometheus-to-sd",
Image: "k8s.gcr.io/prometheus-to-sd:v0.5.0", Image: imageutils.GetE2EImage(imageutils.PrometheusToSd),
ImagePullPolicy: corev1.PullPolicy("Always"), ImagePullPolicy: corev1.PullPolicy("Always"),
Command: []string{"/monitor", fmt.Sprintf("--source=:http://localhost:%d", port), Command: []string{"/monitor", fmt.Sprintf("--source=:http://localhost:%d", port),
"--stackdriver-prefix=custom.googleapis.com", "--pod-id=$(POD_ID)", "--namespace-id=$(POD_NAMESPACE)"}, "--stackdriver-prefix=custom.googleapis.com", "--pod-id=$(POD_ID)", "--namespace-id=$(POD_NAMESPACE)"},

View File

@ -295,7 +295,7 @@ var _ = SIGDescribe("Network", func() {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "startup-script", Name: "startup-script",
Image: "gcr.io/google-containers/startup-script:v1", Image: imageutils.GetE2EImage(imageutils.StartupScript),
Command: []string{ Command: []string{
"bash", "-c", "while true; do sleep 2; nc boom-server 9000& done", "bash", "-c", "while true; do sleep 2; nc boom-server 9000& done",
}, },

View File

@ -15,6 +15,7 @@ go_library(
"//test/e2e/framework:go_default_library", "//test/e2e/framework:go_default_library",
"//test/e2e/framework/ingress:go_default_library", "//test/e2e/framework/ingress:go_default_library",
"//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/providers/gce:go_default_library",
"//test/utils/image:go_default_library",
], ],
) )

View File

@ -28,6 +28,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
imageutils "k8s.io/kubernetes/test/utils/image"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework/ingress" "k8s.io/kubernetes/test/e2e/framework/ingress"
@ -453,7 +454,7 @@ func generateScaleTestBackendDeploymentSpec(numReplicas int32) *apps.Deployment
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: scaleTestBackendName, Name: scaleTestBackendName,
Image: "k8s.gcr.io/echoserver:1.10", Image: imageutils.GetE2EImage(imageutils.EchoServer),
Ports: []v1.ContainerPort{{ContainerPort: 8080}}, Ports: []v1.ContainerPort{{ContainerPort: 8080}},
ReadinessProbe: &v1.Probe{ ReadinessProbe: &v1.Probe{
Handler: v1.Handler{ Handler: v1.Handler{

View File

@ -19,10 +19,6 @@ package scheduling
import ( import (
"time" "time"
"github.com/onsi/ginkgo"
// ensure libs have a chance to initialize
_ "github.com/stretchr/testify/assert"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
@ -33,6 +29,15 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image"
"github.com/onsi/ginkgo"
// ensure libs have a chance to initialize
_ "github.com/stretchr/testify/assert"
)
var (
pauseImage = imageutils.GetE2EImage(imageutils.Pause)
) )
func getTestTaint() v1.Taint { func getTestTaint() v1.Taint {
@ -61,7 +66,7 @@ func createPodForTaintsTest(hasToleration bool, tolerationSeconds int, podName,
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "pause", Name: "pause",
Image: "k8s.gcr.io/pause:3.1", Image: pauseImage,
}, },
}, },
}, },
@ -80,7 +85,7 @@ func createPodForTaintsTest(hasToleration bool, tolerationSeconds int, podName,
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "pause", Name: "pause",
Image: "k8s.gcr.io/pause:3.1", Image: pauseImage,
}, },
}, },
Tolerations: []v1.Toleration{{Key: "kubernetes.io/e2e-evict-taint-key", Value: "evictTaintVal", Effect: v1.TaintEffectNoExecute}}, Tolerations: []v1.Toleration{{Key: "kubernetes.io/e2e-evict-taint-key", Value: "evictTaintVal", Effect: v1.TaintEffectNoExecute}},
@ -99,7 +104,7 @@ func createPodForTaintsTest(hasToleration bool, tolerationSeconds int, podName,
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "pause", Name: "pause",
Image: "k8s.gcr.io/pause:3.1", Image: pauseImage,
}, },
}, },
// default - tolerate forever // default - tolerate forever

View File

@ -26,11 +26,14 @@ import (
// RegistryList holds public and private image registries // RegistryList holds public and private image registries
type RegistryList struct { type RegistryList struct {
DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"` GcAuthenticatedRegistry string `yaml:"gcAuthenticatedRegistry"`
E2eRegistry string `yaml:"e2eRegistry"` DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"`
GcRegistry string `yaml:"gcRegistry"` E2eRegistry string `yaml:"e2eRegistry"`
PrivateRegistry string `yaml:"privateRegistry"` InvalidRegistry string `yaml:"invalidRegistry"`
SampleRegistry string `yaml:"sampleRegistry"` GcRegistry string `yaml:"gcRegistry"`
GoogleContainerRegistry string `yaml:"googleContainerRegistry"`
PrivateRegistry string `yaml:"privateRegistry"`
SampleRegistry string `yaml:"sampleRegistry"`
} }
// Config holds an images registry, name, and version // Config holds an images registry, name, and version
@ -57,11 +60,14 @@ func (i *Config) SetVersion(version string) {
func initReg() RegistryList { func initReg() RegistryList {
registry := RegistryList{ registry := RegistryList{
DockerLibraryRegistry: "docker.io/library", GcAuthenticatedRegistry: "gcr.io/authenticated-image-pulling",
E2eRegistry: "gcr.io/kubernetes-e2e-test-images", DockerLibraryRegistry: "docker.io/library",
GcRegistry: "k8s.gcr.io", E2eRegistry: "gcr.io/kubernetes-e2e-test-images",
PrivateRegistry: "gcr.io/k8s-authenticated-test", InvalidRegistry: "invalid.com/invalid",
SampleRegistry: "gcr.io/google-samples", GcRegistry: "k8s.gcr.io",
GoogleContainerRegistry: "gcr.io/google-containers",
PrivateRegistry: "gcr.io/k8s-authenticated-test",
SampleRegistry: "gcr.io/google-samples",
} }
repoList := os.Getenv("KUBE_TEST_REPO_LIST") repoList := os.Getenv("KUBE_TEST_REPO_LIST")
if repoList == "" { if repoList == "" {
@ -81,10 +87,13 @@ func initReg() RegistryList {
} }
var ( var (
registry = initReg() registry = initReg()
dockerLibraryRegistry = registry.DockerLibraryRegistry dockerLibraryRegistry = registry.DockerLibraryRegistry
e2eRegistry = registry.E2eRegistry e2eRegistry = registry.E2eRegistry
gcRegistry = registry.GcRegistry gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry
gcRegistry = registry.GcRegistry
googleContainerRegistry = registry.GoogleContainerRegistry
invalidRegistry = registry.InvalidRegistry
// 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
@ -100,12 +109,18 @@ const (
AdmissionWebhook AdmissionWebhook
// Agnhost image // Agnhost image
Agnhost Agnhost
// Alpine image
Alpine
// APIServer image // APIServer image
APIServer APIServer
// AppArmorLoader image // AppArmorLoader image
AppArmorLoader AppArmorLoader
// AuditProxy image // AuditProxy image
AuditProxy AuditProxy
// AuthenticatedAlpine image
AuthenticatedAlpine
// AuthenticatedWindowsNanoServer image
AuthenticatedWindowsNanoServer
// BusyBox image // BusyBox image
BusyBox BusyBox
// CheckMetadataConcealment image // CheckMetadataConcealment image
@ -116,6 +131,8 @@ const (
CudaVectorAdd2 CudaVectorAdd2
// Dnsutils image // Dnsutils image
Dnsutils Dnsutils
// DebianBase image
DebianBase
// EchoServer image // EchoServer image
EchoServer EchoServer
// EntrypointTester image // EntrypointTester image
@ -132,6 +149,10 @@ const (
Hostexec Hostexec
// InClusterClient image // InClusterClient image
InClusterClient InClusterClient
// Invalid image
Invalid
// InvalidRegistryImage image
InvalidRegistryImage
// IpcUtils image // IpcUtils image
IpcUtils IpcUtils
// Iperf image // Iperf image
@ -177,14 +198,22 @@ const (
Porter Porter
// PortForwardTester image // PortForwardTester image
PortForwardTester PortForwardTester
// PrometheusDummyExporter image
PrometheusDummyExporter
// PrometheusToSd image
PrometheusToSd
// Redis image // Redis image
Redis Redis
// ResourceConsumer image // ResourceConsumer image
ResourceConsumer ResourceConsumer
// ResourceController image // ResourceController image
ResourceController ResourceController
// SdDummyExporter image
SdDummyExporter
// ServeHostname image // ServeHostname image
ServeHostname ServeHostname
// StartupScript image
StartupScript
// TestWebserver image // TestWebserver image
TestWebserver TestWebserver
// VolumeNFSServer image // VolumeNFSServer image
@ -195,6 +224,8 @@ const (
VolumeGlusterServer VolumeGlusterServer
// VolumeRBDServer image // VolumeRBDServer image
VolumeRBDServer VolumeRBDServer
// WindowsNanoServer image
WindowsNanoServer
) )
func initImageConfigs() map[int]Config { func initImageConfigs() map[int]Config {
@ -202,6 +233,8 @@ func initImageConfigs() map[int]Config {
configs[CRDConversionWebhook] = Config{e2eRegistry, "crd-conversion-webhook", "1.13rev2"} configs[CRDConversionWebhook] = Config{e2eRegistry, "crd-conversion-webhook", "1.13rev2"}
configs[AdmissionWebhook] = Config{e2eRegistry, "webhook", "1.15v1"} configs[AdmissionWebhook] = Config{e2eRegistry, "webhook", "1.15v1"}
configs[Agnhost] = Config{e2eRegistry, "agnhost", "1.0"} configs[Agnhost] = Config{e2eRegistry, "agnhost", "1.0"}
configs[Alpine] = Config{dockerLibraryRegistry, "alpine", "3.7"}
configs[AuthenticatedAlpine] = Config{gcAuthenticatedRegistry, "alpine", "3.7"}
configs[APIServer] = Config{e2eRegistry, "sample-apiserver", "1.10"} configs[APIServer] = Config{e2eRegistry, "sample-apiserver", "1.10"}
configs[AppArmorLoader] = Config{e2eRegistry, "apparmor-loader", "1.0"} configs[AppArmorLoader] = Config{e2eRegistry, "apparmor-loader", "1.0"}
configs[AuditProxy] = Config{e2eRegistry, "audit-proxy", "1.0"} configs[AuditProxy] = Config{e2eRegistry, "audit-proxy", "1.0"}
@ -210,6 +243,7 @@ func initImageConfigs() map[int]Config {
configs[CudaVectorAdd] = Config{e2eRegistry, "cuda-vector-add", "1.0"} configs[CudaVectorAdd] = Config{e2eRegistry, "cuda-vector-add", "1.0"}
configs[CudaVectorAdd2] = Config{e2eRegistry, "cuda-vector-add", "2.0"} configs[CudaVectorAdd2] = Config{e2eRegistry, "cuda-vector-add", "2.0"}
configs[Dnsutils] = Config{e2eRegistry, "dnsutils", "1.1"} configs[Dnsutils] = Config{e2eRegistry, "dnsutils", "1.1"}
configs[DebianBase] = Config{googleContainerRegistry, "debian-base", "0.4.1"}
configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"} configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"}
configs[EntrypointTester] = Config{e2eRegistry, "entrypoint-tester", "1.0"} configs[EntrypointTester] = Config{e2eRegistry, "entrypoint-tester", "1.0"}
configs[Etcd] = Config{gcRegistry, "etcd", "3.3.10"} configs[Etcd] = Config{gcRegistry, "etcd", "3.3.10"}
@ -218,6 +252,8 @@ func initImageConfigs() map[int]Config {
configs[GBRedisSlave] = Config{sampleRegistry, "gb-redisslave", "v3"} configs[GBRedisSlave] = Config{sampleRegistry, "gb-redisslave", "v3"}
configs[Hostexec] = Config{e2eRegistry, "hostexec", "1.1"} configs[Hostexec] = Config{e2eRegistry, "hostexec", "1.1"}
configs[InClusterClient] = Config{e2eRegistry, "inclusterclient", "1.0"} configs[InClusterClient] = Config{e2eRegistry, "inclusterclient", "1.0"}
configs[Invalid] = Config{gcRegistry, "invalid-image", "invalid-tag"}
configs[InvalidRegistryImage] = Config{invalidRegistry, "alpine", "3.1"}
configs[IpcUtils] = Config{e2eRegistry, "ipc-utils", "1.0"} configs[IpcUtils] = Config{e2eRegistry, "ipc-utils", "1.0"}
configs[Iperf] = Config{e2eRegistry, "iperf", "1.0"} configs[Iperf] = Config{e2eRegistry, "iperf", "1.0"}
configs[JessieDnsutils] = Config{e2eRegistry, "jessie-dnsutils", "1.0"} configs[JessieDnsutils] = Config{e2eRegistry, "jessie-dnsutils", "1.0"}
@ -241,15 +277,20 @@ func initImageConfigs() map[int]Config {
configs[Perl] = Config{dockerLibraryRegistry, "perl", "5.26"} configs[Perl] = Config{dockerLibraryRegistry, "perl", "5.26"}
configs[Porter] = Config{e2eRegistry, "porter", "1.0"} configs[Porter] = Config{e2eRegistry, "porter", "1.0"}
configs[PortForwardTester] = Config{e2eRegistry, "port-forward-tester", "1.0"} configs[PortForwardTester] = Config{e2eRegistry, "port-forward-tester", "1.0"}
configs[PrometheusDummyExporter] = Config{e2eRegistry, "prometheus-dummy-exporter", "v0.1.0"}
configs[PrometheusToSd] = Config{e2eRegistry, "prometheus-to-sd", "v0.5.0"}
configs[Redis] = Config{e2eRegistry, "redis", "1.0"} configs[Redis] = Config{e2eRegistry, "redis", "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[ServeHostname] = Config{e2eRegistry, "serve-hostname", "1.1"} configs[ServeHostname] = Config{e2eRegistry, "serve-hostname", "1.1"}
configs[StartupScript] = Config{googleContainerRegistry, "startup-script", "v1"}
configs[TestWebserver] = Config{e2eRegistry, "test-webserver", "1.0"} configs[TestWebserver] = Config{e2eRegistry, "test-webserver", "1.0"}
configs[VolumeNFSServer] = Config{e2eRegistry, "volume/nfs", "1.0"} configs[VolumeNFSServer] = Config{e2eRegistry, "volume/nfs", "1.0"}
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{e2eRegistry, "windows-nanoserver", "v1"}
return configs return configs
} }