Merge pull request #78396 from bclau/tests/reduce-to-agnhost-part-2

tests: Replaces images used with agnhost (part 2)
This commit is contained in:
Kubernetes Prow Robot 2019-06-19 21:10:48 -07:00 committed by GitHub
commit ef03129821
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 31 additions and 43 deletions

View File

@ -118,7 +118,7 @@ var _ = SIGDescribe("AdmissionWebhook", func() {
// Note that in 1.9 we will have backwards incompatible change to // Note that in 1.9 we will have backwards incompatible change to
// admission webhooks, so the image will be updated to 1.9 sometime in // admission webhooks, so the image will be updated to 1.9 sometime in
// the development 1.9 cycle. // the development 1.9 cycle.
deployWebhookAndService(f, imageutils.GetE2EImage(imageutils.AdmissionWebhook), context) deployWebhookAndService(f, imageutils.GetE2EImage(imageutils.Agnhost), context)
}) })
ginkgo.AfterEach(func() { ginkgo.AfterEach(func() {
@ -342,11 +342,11 @@ func deployWebhookAndService(f *framework.Framework, image string, context *cert
Name: "sample-webhook", Name: "sample-webhook",
VolumeMounts: mounts, VolumeMounts: mounts,
Args: []string{ Args: []string{
"webhook",
"--tls-cert-file=/webhook.local.config/certificates/tls.crt", "--tls-cert-file=/webhook.local.config/certificates/tls.crt",
"--tls-private-key-file=/webhook.local.config/certificates/tls.key", "--tls-private-key-file=/webhook.local.config/certificates/tls.key",
"--alsologtostderr", "--alsologtostderr",
"-v=4", "-v=4",
"2>&1",
}, },
Image: image, Image: image,
}, },

View File

@ -36,7 +36,7 @@ const (
etcHostsOriginalPath = "/etc/hosts-original" etcHostsOriginalPath = "/etc/hosts-original"
) )
var etcHostsImageName = imageutils.GetE2EImage(imageutils.Netexec) var etcHostsImageName = imageutils.GetE2EImage(imageutils.Agnhost)
type KubeletManagedHostConfig struct { type KubeletManagedHostConfig struct {
hostNetworkPod *v1.Pod hostNetworkPod *v1.Pod

View File

@ -49,7 +49,8 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "pod-handle-http-request", Name: "pod-handle-http-request",
Image: imageutils.GetE2EImage(imageutils.Netexec), Image: imageutils.GetE2EImage(imageutils.Agnhost),
Args: []string{"netexec"},
Ports: []v1.ContainerPort{ Ports: []v1.ContainerPort{
{ {
ContainerPort: 8080, ContainerPort: 8080,

View File

@ -55,13 +55,11 @@ var CommonImageWhiteList = sets.NewString(
imageutils.GetE2EImage(imageutils.IpcUtils), imageutils.GetE2EImage(imageutils.IpcUtils),
imageutils.GetE2EImage(imageutils.Mounttest), imageutils.GetE2EImage(imageutils.Mounttest),
imageutils.GetE2EImage(imageutils.MounttestUser), imageutils.GetE2EImage(imageutils.MounttestUser),
imageutils.GetE2EImage(imageutils.Netexec),
imageutils.GetE2EImage(imageutils.Nginx), imageutils.GetE2EImage(imageutils.Nginx),
imageutils.GetE2EImage(imageutils.ServeHostname), imageutils.GetE2EImage(imageutils.ServeHostname),
imageutils.GetE2EImage(imageutils.TestWebserver), imageutils.GetE2EImage(imageutils.TestWebserver),
imageutils.GetE2EImage(imageutils.VolumeNFSServer), imageutils.GetE2EImage(imageutils.VolumeNFSServer),
imageutils.GetE2EImage(imageutils.VolumeGlusterServer), imageutils.GetE2EImage(imageutils.VolumeGlusterServer),
imageutils.GetE2EImage(imageutils.Net),
) )
type testImagesStruct struct { type testImagesStruct struct {

View File

@ -74,7 +74,7 @@ const (
RegexIPv6 = "(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::))))" RegexIPv6 = "(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::))))"
) )
var netexecImageName = imageutils.GetE2EImage(imageutils.Netexec) var netexecImageName = imageutils.GetE2EImage(imageutils.Agnhost)
// NewNetworkingTestConfig creates and sets up a new test config helper. // NewNetworkingTestConfig creates and sets up a new test config helper.
func NewNetworkingTestConfig(f *Framework) *NetworkingTestConfig { func NewNetworkingTestConfig(f *Framework) *NetworkingTestConfig {
@ -427,8 +427,8 @@ func (config *NetworkingTestConfig) createNetShellPodSpec(podName, hostname stri
Name: "webserver", Name: "webserver",
Image: netexecImageName, Image: netexecImageName,
ImagePullPolicy: v1.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Args: []string{
"/netexec", "netexec",
fmt.Sprintf("--http-port=%d", EndpointHTTPPort), fmt.Sprintf("--http-port=%d", EndpointHTTPPort),
fmt.Sprintf("--udp-port=%d", EndpointUDPPort), fmt.Sprintf("--udp-port=%d", EndpointUDPPort),
}, },
@ -471,8 +471,8 @@ func (config *NetworkingTestConfig) createTestPodSpec() *v1.Pod {
Name: "webserver", Name: "webserver",
Image: netexecImageName, Image: netexecImageName,
ImagePullPolicy: v1.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Args: []string{
"/netexec", "netexec",
fmt.Sprintf("--http-port=%d", EndpointHTTPPort), fmt.Sprintf("--http-port=%d", EndpointHTTPPort),
fmt.Sprintf("--udp-port=%d", EndpointUDPPort), fmt.Sprintf("--udp-port=%d", EndpointUDPPort),
}, },

View File

@ -635,8 +635,8 @@ func (j *ServiceTestJig) newRCTemplate(namespace string) *v1.ReplicationControll
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "netexec", Name: "netexec",
Image: imageutils.GetE2EImage(imageutils.Netexec), Image: imageutils.GetE2EImage(imageutils.Agnhost),
Args: []string{"--http-port=80", "--udp-port=80"}, Args: []string{"netexec", "--http-port=80", "--udp-port=80"},
ReadinessProbe: &v1.Probe{ ReadinessProbe: &v1.Probe{
PeriodSeconds: 3, PeriodSeconds: 3,
Handler: v1.Handler{ Handler: v1.Handler{
@ -817,8 +817,8 @@ func newNetexecPodSpec(podName string, httpPort, udpPort int32, hostNetwork bool
{ {
Name: "netexec", Name: "netexec",
Image: netexecImageName, Image: netexecImageName,
Command: []string{ Args: []string{
"/netexec", "netexec",
fmt.Sprintf("--http-port=%d", httpPort), fmt.Sprintf("--http-port=%d", httpPort),
fmt.Sprintf("--udp-port=%d", udpPort), fmt.Sprintf("--udp-port=%d", udpPort),
}, },

View File

@ -448,7 +448,7 @@ func ProxyMode(f *Framework) (string, error) {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "detector", Name: "detector",
Image: imageutils.GetE2EImage(imageutils.Net), Image: imageutils.GetE2EImage(imageutils.Agnhost),
Command: []string{"/bin/sleep", "3600"}, Command: []string{"/bin/sleep", "3600"},
}, },
}, },

View File

@ -665,11 +665,11 @@ func GeneratePodSecurityContext(fsGroup *int64, seLinuxOptions *v1.SELinuxOption
} }
// GetTestImage returns the image name with the given input // GetTestImage returns the image name with the given input
// If the Node OS is windows, currently we return Nettest image for Windows node // If the Node OS is windows, currently we return Agnhost image for Windows node
// due to the issue of #https://github.com/kubernetes-sigs/windows-testing/pull/35. // due to the issue of #https://github.com/kubernetes-sigs/windows-testing/pull/35.
func GetTestImage(image string) string { func GetTestImage(image string) string {
if framework.NodeOSDistroIs("windows") { if framework.NodeOSDistroIs("windows") {
return imageutils.GetE2EImage(imageutils.Nettest) return imageutils.GetE2EImage(imageutils.Agnhost)
} }
return image return image
} }

View File

@ -69,7 +69,8 @@ func pfPod(expectedClientData, chunks, chunkSize, chunkIntervalMillis string, bi
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "readiness", Name: "readiness",
Image: imageutils.GetE2EImage(imageutils.Netexec), Image: imageutils.GetE2EImage(imageutils.Agnhost),
Args: []string{"netexec"},
ReadinessProbe: &v1.Probe{ ReadinessProbe: &v1.Probe{
Handler: v1.Handler{ Handler: v1.Handler{
Exec: &v1.ExecAction{ Exec: &v1.ExecAction{

View File

@ -38,7 +38,7 @@ import (
"github.com/onsi/gomega" "github.com/onsi/gomega"
) )
var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Net) var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Agnhost)
var _ = SIGDescribe("Network", func() { var _ = SIGDescribe("Network", func() {
const ( const (
@ -103,8 +103,8 @@ var _ = SIGDescribe("Network", func() {
Name: "e2e-net-client", Name: "e2e-net-client",
Image: kubeProxyE2eImage, Image: kubeProxyE2eImage,
ImagePullPolicy: "Always", ImagePullPolicy: "Always",
Command: []string{ Args: []string{
"/net", "-serve", fmt.Sprintf("0.0.0.0:%d", testDaemonHTTPPort), "net", "--serve", fmt.Sprintf("0.0.0.0:%d", testDaemonHTTPPort),
}, },
}, },
}, },
@ -125,10 +125,10 @@ var _ = SIGDescribe("Network", func() {
Name: "e2e-net-server", Name: "e2e-net-server",
Image: kubeProxyE2eImage, Image: kubeProxyE2eImage,
ImagePullPolicy: "Always", ImagePullPolicy: "Always",
Command: []string{ Args: []string{
"/net", "net",
"-runner", "nat-closewait-server", "--runner", "nat-closewait-server",
"-options", "--options",
fmt.Sprintf(`{"LocalAddr":"0.0.0.0:%v", "PostFindTimeoutSeconds":%v}`, fmt.Sprintf(`{"LocalAddr":"0.0.0.0:%v", "PostFindTimeoutSeconds":%v}`,
testDaemonTCPPort, testDaemonTCPPort,
postFinTimeoutSeconds), postFinTimeoutSeconds),

View File

@ -1280,7 +1280,7 @@ var _ = SIGDescribe("Services", func() {
}() }()
t.Name = "slow-terminating-unready-pod" t.Name = "slow-terminating-unready-pod"
t.Image = imageutils.GetE2EImage(imageutils.Netexec) t.Image = imageutils.GetE2EImage(imageutils.Agnhost)
port := 80 port := 80
terminateSeconds := int64(600) terminateSeconds := int64(600)
@ -1300,7 +1300,7 @@ var _ = SIGDescribe("Services", func() {
}, },
} }
rcSpec := framework.RcByNameContainer(t.Name, 1, t.Image, t.Labels, v1.Container{ rcSpec := framework.RcByNameContainer(t.Name, 1, t.Image, t.Labels, v1.Container{
Args: []string{fmt.Sprintf("--http-port=%d", port)}, Args: []string{"netexec", fmt.Sprintf("--http-port=%d", port)},
Name: t.Name, Name: t.Name,
Image: t.Image, Image: t.Image,
Ports: []v1.ContainerPort{{ContainerPort: int32(port), Protocol: v1.ProtocolTCP}}, Ports: []v1.ContainerPort{{ContainerPort: int32(port), Protocol: v1.ProtocolTCP}},

View File

@ -52,7 +52,8 @@ func testPreStop(c clientset.Interface, ns string) {
Containers: []v1.Container{ Containers: []v1.Container{
{ {
Name: "server", Name: "server",
Image: imageutils.GetE2EImage(imageutils.Nettest), Image: imageutils.GetE2EImage(imageutils.Agnhost),
Args: []string{"nettest"},
Ports: []v1.ContainerPort{{ContainerPort: 8080}}, Ports: []v1.ContainerPort{{ContainerPort: 8080}},
}, },
}, },

View File

@ -51,7 +51,6 @@ var NodeImageWhiteList = sets.NewString(
imageutils.GetE2EImage(imageutils.Nginx), imageutils.GetE2EImage(imageutils.Nginx),
imageutils.GetE2EImage(imageutils.Perl), imageutils.GetE2EImage(imageutils.Perl),
imageutils.GetE2EImage(imageutils.ServeHostname), imageutils.GetE2EImage(imageutils.ServeHostname),
imageutils.GetE2EImage(imageutils.Netexec),
imageutils.GetE2EImage(imageutils.Nonewprivs), imageutils.GetE2EImage(imageutils.Nonewprivs),
imageutils.GetPauseImageName(), imageutils.GetPauseImageName(),
gpu.GetGPUDevicePluginImage(), gpu.GetGPUDevicePluginImage(),

View File

@ -105,8 +105,6 @@ var (
const ( const (
// CRDConversionWebhook image // CRDConversionWebhook image
CRDConversionWebhook = iota CRDConversionWebhook = iota
// AdmissionWebhook image
AdmissionWebhook
// Agnhost image // Agnhost image
Agnhost Agnhost
// Alpine image // Alpine image
@ -163,12 +161,6 @@ const (
MounttestUser MounttestUser
// Nautilus image // Nautilus image
Nautilus Nautilus
// Net image
Net
// Netexec image
Netexec
// Nettest image
Nettest
// Nginx image // Nginx image
Nginx Nginx
// NginxNew image // NginxNew image
@ -217,8 +209,7 @@ const (
func initImageConfigs() map[int]Config { func initImageConfigs() map[int]Config {
configs := map[int]Config{} configs := 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[Agnhost] = Config{e2eRegistry, "agnhost", "2.1"}
configs[Agnhost] = Config{e2eRegistry, "agnhost", "2.0"}
configs[Alpine] = Config{dockerLibraryRegistry, "alpine", "3.7"} configs[Alpine] = Config{dockerLibraryRegistry, "alpine", "3.7"}
configs[AuthenticatedAlpine] = Config{gcAuthenticatedRegistry, "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"}
@ -245,9 +236,6 @@ 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[Net] = Config{e2eRegistry, "net", "1.0"}
configs[Netexec] = Config{e2eRegistry, "netexec", "1.1"}
configs[Nettest] = Config{e2eRegistry, "nettest", "1.0"}
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"}