mirror of https://github.com/k3s-io/k3s
Port e2e tests for multi architecture
parent
22c3a590d1
commit
ee4d54c70c
|
@ -41,6 +41,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func getForegroundOptions() *metav1.DeleteOptions {
|
||||
|
@ -79,7 +80,7 @@ func getPodTemplateSpec(labels map[string]string) v1.PodTemplateSpec {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -179,7 +180,7 @@ func newGCPod(name string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx:1.7.9",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -287,7 +288,7 @@ func newCronJob(name, schedule string) *batchv2alpha1.CronJob {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "c",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sleep", "300"},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -34,6 +34,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func stagingClientPod(name, value string) v1.Pod {
|
||||
|
@ -49,7 +50,7 @@ func stagingClientPod(name, value string) v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Ports: []v1.ContainerPort{{ContainerPort: 80}},
|
||||
},
|
||||
},
|
||||
|
@ -70,7 +71,7 @@ func testingPod(name, value string) v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Ports: []v1.ContainerPort{{ContainerPort: 80}},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -243,7 +244,7 @@ func newTestingCronJob(name string, value string) *batchv2alpha1.CronJob {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "c",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
MountPath: "/data",
|
||||
|
|
|
@ -34,6 +34,7 @@ import (
|
|||
clientset "k8s.io/client-go/kubernetes"
|
||||
clientretry "k8s.io/client-go/util/retry"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = SIGDescribe("Initializers [Feature:Initializers]", func() {
|
||||
|
@ -334,7 +335,7 @@ func newInitPod(podName string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0",
|
||||
Image: imageutils.GetE2EImage(imageutils.Porter),
|
||||
Env: []v1.EnvVar{{Name: fmt.Sprintf("SERVE_PORT_%d", port), Value: "foo"}},
|
||||
Ports: []v1.ContainerPort{{ContainerPort: int32(port)}},
|
||||
},
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
metav1alpha1 "k8s.io/apimachinery/pkg/apis/meta/v1alpha1"
|
||||
"k8s.io/kubernetes/pkg/printers"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = SIGDescribe("Servers with support for Table transformation", func() {
|
||||
|
@ -110,7 +111,7 @@ func newTablePod(podName string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0",
|
||||
Image: imageutils.GetE2EImage(imageutils.Porter),
|
||||
Env: []v1.EnvVar{{Name: fmt.Sprintf("SERVE_PORT_%d", port), Value: "foo"}},
|
||||
Ports: []v1.ContainerPort{{ContainerPort: int32(port)}},
|
||||
},
|
||||
|
|
|
@ -35,6 +35,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/controller/job"
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -303,7 +304,7 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batchv2alpha1.Concu
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "c",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
MountPath: "/data",
|
||||
|
|
|
@ -29,6 +29,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/controller/replication"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -44,8 +45,9 @@ var _ = SIGDescribe("ReplicationController", func() {
|
|||
It("should serve a basic image on each replica with a private image", func() {
|
||||
// requires private images
|
||||
framework.SkipUnlessProviderIs("gce", "gke")
|
||||
|
||||
TestReplicationControllerServeImageOrFail(f, "private", "gcr.io/k8s-authenticated-test/serve_hostname:v1.4")
|
||||
privateimage := imageutils.ServeHostname
|
||||
privateimage.SetRegistry(imageutils.PrivateRegistry)
|
||||
TestReplicationControllerServeImageOrFail(f, "private", imageutils.GetE2EImage(privateimage))
|
||||
})
|
||||
|
||||
It("should surface a failure condition on a common issue like exceeded quota", func() {
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func newRS(rsName string, replicas int32, rsPodLabels map[string]string, imageName string, image string) *extensions.ReplicaSet {
|
||||
|
@ -84,8 +85,9 @@ var _ = SIGDescribe("ReplicaSet", func() {
|
|||
It("should serve a basic image on each replica with a private image", func() {
|
||||
// requires private images
|
||||
framework.SkipUnlessProviderIs("gce", "gke")
|
||||
|
||||
testReplicaSetServeImageOrFail(f, "private", "gcr.io/k8s-authenticated-test/serve_hostname:v1.4")
|
||||
privateimage := imageutils.ServeHostname
|
||||
privateimage.SetRegistry(imageutils.PrivateRegistry)
|
||||
testReplicaSetServeImageOrFail(f, "private", imageutils.GetE2EImage(privateimage))
|
||||
})
|
||||
|
||||
It("should surface a failure condition on a common issue like exceeded quota", func() {
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/watch"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -777,7 +778,7 @@ var _ = SIGDescribe("StatefulSet", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Ports: []v1.ContainerPort{conflictingPort},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -19,18 +19,19 @@ package apps
|
|||
import (
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
batchv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
NautilusImage = "gcr.io/google_containers/update-demo:nautilus"
|
||||
KittenImage = "gcr.io/google_containers/update-demo:kitten"
|
||||
NginxImage = "gcr.io/google_containers/nginx-slim:0.7"
|
||||
NginxImageName = "nginx"
|
||||
RedisImage = "gcr.io/k8s-testimages/redis:e2e"
|
||||
RedisImageName = "redis"
|
||||
NewNginxImage = "gcr.io/google_containers/nginx-slim:0.8"
|
||||
)
|
||||
|
||||
var (
|
||||
CronJobGroupVersionResource = schema.GroupVersionResource{Group: batchv2alpha1.GroupName, Version: "v2alpha1", Resource: "cronjobs"}
|
||||
NautilusImage = imageutils.GetE2EImage(imageutils.Nautilus)
|
||||
KittenImage = imageutils.GetE2EImage(imageutils.Kitten)
|
||||
NginxImage = imageutils.GetE2EImage(imageutils.NginxSlim)
|
||||
NewNginxImage = imageutils.GetE2EImage(imageutils.NginxSlimNew)
|
||||
RedisImage = imageutils.GetE2EImage(imageutils.Redis)
|
||||
)
|
||||
|
|
|
@ -28,11 +28,14 @@ import (
|
|||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/plugin/pkg/admission/serviceaccount"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var mountImage = imageutils.GetE2EImage(imageutils.Mounttest)
|
||||
|
||||
var serviceAccountTokenNamespaceVersion = utilversion.MustParseSemantic("v1.2.0")
|
||||
|
||||
var serviceAccountTokenAutomountVersion = utilversion.MustParseSemantic("v1.6.0-alpha.2")
|
||||
|
@ -200,14 +203,14 @@ var _ = SIGDescribe("ServiceAccounts", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "token-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
fmt.Sprintf("--file_content=%s/%s", serviceaccount.DefaultAPITokenMountPath, v1.ServiceAccountTokenKey),
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "root-ca-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
fmt.Sprintf("--file_content=%s/%s", serviceaccount.DefaultAPITokenMountPath, v1.ServiceAccountRootCAKey),
|
||||
},
|
||||
|
@ -221,7 +224,7 @@ var _ = SIGDescribe("ServiceAccounts", func() {
|
|||
if supportsTokenNamespace {
|
||||
pod.Spec.Containers = append(pod.Spec.Containers, v1.Container{
|
||||
Name: "namespace-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
fmt.Sprintf("--file_content=%s/%s", serviceaccount.DefaultAPITokenMountPath, v1.ServiceAccountNamespaceKey),
|
||||
},
|
||||
|
@ -356,7 +359,7 @@ var _ = SIGDescribe("ServiceAccounts", func() {
|
|||
pod := &v1.Pod{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: tc.PodName},
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{{Name: "token-test", Image: "gcr.io/google_containers/mounttest:0.8"}},
|
||||
Containers: []v1.Container{{Name: "token-test", Image: mountImage}},
|
||||
RestartPolicy: v1.RestartPolicyNever,
|
||||
ServiceAccountName: tc.ServiceAccountName,
|
||||
AutomountServiceAccountToken: tc.AutomountPodSpec,
|
||||
|
|
|
@ -84,7 +84,7 @@ done`, testCmd)
|
|||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{{
|
||||
Name: "test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", testCmd},
|
||||
}},
|
||||
RestartPolicy: api.RestartPolicyNever,
|
||||
|
|
|
@ -37,6 +37,7 @@ import (
|
|||
testutils "k8s.io/kubernetes/test/utils"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -50,8 +51,6 @@ const (
|
|||
timeoutRC = 120 * time.Second
|
||||
startServiceTimeout = time.Minute
|
||||
startServiceInterval = 5 * time.Second
|
||||
resourceConsumerImage = "gcr.io/google_containers/resource_consumer:beta4"
|
||||
resourceConsumerControllerImage = "gcr.io/google_containers/resource_consumer/controller:beta4"
|
||||
rcIsNil = "ERROR: replicationController = nil"
|
||||
deploymentIsNil = "ERROR: deployment = nil"
|
||||
rsIsNil = "ERROR: replicaset = nil"
|
||||
|
@ -61,6 +60,11 @@ const (
|
|||
serviceInitializationInterval = 15 * time.Second
|
||||
)
|
||||
|
||||
var (
|
||||
resourceConsumerImage = imageutils.GetE2EImage(imageutils.ResourceConsumer)
|
||||
resourceConsumerControllerImage = imageutils.GetE2EImage(imageutils.ResourceController)
|
||||
)
|
||||
|
||||
const (
|
||||
KindRC = "ReplicationController"
|
||||
KindDeployment = "Deployment"
|
||||
|
|
|
@ -116,8 +116,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volume/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volume/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: volumeName,
|
||||
|
@ -248,8 +248,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: deleteContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/delete/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/delete/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: deleteVolumeName,
|
||||
|
@ -260,8 +260,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
},
|
||||
{
|
||||
Name: updateContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/update/data-3"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/update/data-3"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: updateVolumeName,
|
||||
|
@ -272,8 +272,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
},
|
||||
{
|
||||
Name: createContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/create/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/configmap-volumes/create/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: createVolumeName,
|
||||
|
@ -344,7 +344,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
@ -387,7 +387,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
EnvFrom: []v1.EnvFromSource{
|
||||
{
|
||||
|
@ -456,7 +456,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{"--file_content=/etc/configmap-volume/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
@ -550,7 +550,7 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/configmap-volume/data-1",
|
||||
"--file_mode=/etc/configmap-volume/data-1"},
|
||||
|
@ -636,7 +636,7 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{"--file_content=/etc/configmap-volume/path/to/data-2",
|
||||
"--file_mode=/etc/configmap-volume/path/to/data-2"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -105,7 +106,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "echo ok >/tmp/health; sleep 10; rm -rf /tmp/health; sleep 600"},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -132,7 +133,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "echo ok >/tmp/health; sleep 600"},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -159,7 +160,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/liveness:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Liveness),
|
||||
Command: []string{"/server"},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -188,7 +189,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/liveness:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Liveness),
|
||||
Command: []string{"/server"},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -216,7 +217,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Ports: []v1.ContainerPort{{ContainerPort: 80}},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -247,7 +248,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "liveness",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "sleep 600"},
|
||||
LivenessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
|
@ -303,7 +304,7 @@ func makePodSpec(readinessProbe, livenessProbe *v1.Probe) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: probTestContainerName,
|
||||
Image: "gcr.io/google_containers/test-webserver:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
||||
LivenessProbe: livenessProbe,
|
||||
ReadinessProbe: readinessProbe,
|
||||
},
|
||||
|
|
|
@ -21,6 +21,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
)
|
||||
|
@ -80,7 +81,7 @@ func entrypointTestPod() *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: testContainerName,
|
||||
Image: "gcr.io/google_containers/eptest:0.1",
|
||||
Image: imageutils.GetE2EImage(imageutils.EntrypointTester),
|
||||
},
|
||||
},
|
||||
RestartPolicy: v1.RestartPolicyNever,
|
||||
|
|
|
@ -172,7 +172,7 @@ var _ = framework.KubeDescribe("Downward API", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "dapi-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: env,
|
||||
},
|
||||
|
@ -195,7 +195,7 @@ func testDownwardAPI(f *framework.Framework, podName string, env []v1.EnvVar, ex
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "dapi-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{
|
||||
|
|
|
@ -211,8 +211,8 @@ func downwardAPIVolumePodForModeTest(name, filePath string, itemMode, defaultMod
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "client-container",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--file_mode=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--file_mode=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
@ -237,8 +237,8 @@ func downwardAPIVolumePodForSimpleTest(name string, filePath string) *v1.Pod {
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "client-container",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--file_content=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--file_content=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
@ -268,8 +268,8 @@ func downwardAPIVolumeBaseContainers(name, filePath string) []v1.Container {
|
|||
return []v1.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--file_content=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--file_content=" + filePath},
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{
|
||||
v1.ResourceCPU: resource.MustParse("250m"),
|
||||
|
@ -296,8 +296,8 @@ func downwardAPIVolumeDefaultBaseContainer(name, filePath string) []v1.Container
|
|||
return []v1.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--file_content=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--file_content=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
@ -315,8 +315,8 @@ func downwardAPIVolumePodForUpdateTest(name string, labels, annotations map[stri
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "client-container",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
|
|
@ -26,12 +26,16 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
testImageRootUid = "gcr.io/google_containers/mounttest:0.8"
|
||||
testImageNonRootUid = "gcr.io/google_containers/mounttest-user:0.5"
|
||||
volumePath = "/test-volume"
|
||||
volumePath = "/test-volume"
|
||||
)
|
||||
|
||||
var (
|
||||
testImageRootUid = imageutils.GetE2EImage(imageutils.Mounttest)
|
||||
testImageNonRootUid = imageutils.GetE2EImage(imageutils.MounttestUser)
|
||||
)
|
||||
|
||||
var _ = framework.KubeDescribe("EmptyDir volumes", func() {
|
||||
|
|
|
@ -41,7 +41,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "dapi-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
@ -81,7 +81,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "dapi-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "TEST_VAR=wrong echo \"$(TEST_VAR)\""},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
@ -111,7 +111,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "dapi-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c"},
|
||||
Args: []string{"TEST_VAR=wrong echo \"$(TEST_VAR)\""},
|
||||
Env: []v1.EnvVar{
|
||||
|
|
|
@ -231,7 +231,7 @@ func testPodWithHostVol(path string, source *v1.HostPathVolumeSource) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName1,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: volumeName,
|
||||
|
@ -244,7 +244,7 @@ func testPodWithHostVol(path string, source *v1.HostPathVolumeSource) *v1.Pod {
|
|||
},
|
||||
{
|
||||
Name: containerName2,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: volumeName,
|
||||
|
|
|
@ -60,19 +60,19 @@ var _ = framework.KubeDescribe("InitContainer", func() {
|
|||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
{
|
||||
Name: "init2",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
},
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "run1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
},
|
||||
|
@ -135,12 +135,12 @@ var _ = framework.KubeDescribe("InitContainer", func() {
|
|||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
{
|
||||
Name: "init2",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
},
|
||||
|
@ -216,12 +216,12 @@ var _ = framework.KubeDescribe("InitContainer", func() {
|
|||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/false"},
|
||||
},
|
||||
{
|
||||
Name: "init2",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
},
|
||||
|
@ -349,19 +349,19 @@ var _ = framework.KubeDescribe("InitContainer", func() {
|
|||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
},
|
||||
{
|
||||
Name: "init2",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/false"},
|
||||
},
|
||||
},
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "run1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/true"},
|
||||
Resources: v1.ResourceRequirements{
|
||||
Limits: v1.ResourceList{
|
||||
|
|
|
@ -25,15 +25,17 @@ import (
|
|||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
etcHostsImageName = "gcr.io/google_containers/netexec:1.7"
|
||||
etcHostsPodName = "test-pod"
|
||||
etcHostsHostNetworkPodName = "test-host-network-pod"
|
||||
etcHostsPartialContent = "# Kubernetes-managed hosts file."
|
||||
)
|
||||
|
||||
var etcHostsImageName = imageutils.GetE2EImage(imageutils.Netexec)
|
||||
|
||||
type KubeletManagedHostConfig struct {
|
||||
hostNetworkPod *v1.Pod
|
||||
pod *v1.Pod
|
||||
|
|
|
@ -39,6 +39,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -160,7 +161,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -281,7 +282,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -330,7 +331,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -416,7 +417,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
},
|
||||
},
|
||||
|
@ -455,7 +456,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "main",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "echo container is alive; sleep 600"},
|
||||
},
|
||||
},
|
||||
|
@ -525,7 +526,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "main",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "echo container is alive; sleep 10000"},
|
||||
},
|
||||
},
|
||||
|
@ -580,7 +581,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "sleep 5", "/crash/missing"},
|
||||
},
|
||||
},
|
||||
|
@ -591,7 +592,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
|
||||
By("updating the image")
|
||||
podClient.Update(podName, func(pod *v1.Pod) {
|
||||
pod.Spec.Containers[0].Image = "gcr.io/google_containers/nginx-slim:0.7"
|
||||
pod.Spec.Containers[0].Image = imageutils.GetE2EImage(imageutils.NginxSlim)
|
||||
})
|
||||
|
||||
time.Sleep(syncLoopFrequency)
|
||||
|
@ -621,7 +622,7 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c", "sleep 5", "/crash/missing"},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -81,8 +81,6 @@ func (c *PrivilegedPodTestConfig) createPodsSpec() *v1.Pod {
|
|||
isPrivileged := true
|
||||
notPrivileged := false
|
||||
|
||||
const image = "gcr.io/google_containers/busybox:1.24"
|
||||
|
||||
return &v1.Pod{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: c.privilegedPod,
|
||||
|
@ -92,14 +90,14 @@ func (c *PrivilegedPodTestConfig) createPodsSpec() *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: c.privilegedContainer,
|
||||
Image: image,
|
||||
Image: busyboxImage,
|
||||
ImagePullPolicy: v1.PullIfNotPresent,
|
||||
SecurityContext: &v1.SecurityContext{Privileged: &isPrivileged},
|
||||
Command: []string{"/bin/sleep", "10000"},
|
||||
},
|
||||
{
|
||||
Name: c.notPrivilegedContainer,
|
||||
Image: image,
|
||||
Image: busyboxImage,
|
||||
ImagePullPolicy: v1.PullIfNotPresent,
|
||||
SecurityContext: &v1.SecurityContext{Privileged: ¬Privileged},
|
||||
Command: []string{"/bin/sleep", "10000"},
|
||||
|
|
|
@ -142,7 +142,7 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/projected-secret-volume/data-1",
|
||||
"--file_mode=/etc/projected-secret-volume/data-1"},
|
||||
|
@ -287,8 +287,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: deleteContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/delete/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/delete/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: deleteVolumeName,
|
||||
|
@ -299,8 +299,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
},
|
||||
{
|
||||
Name: updateContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/update/data-3"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/update/data-3"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: updateVolumeName,
|
||||
|
@ -311,8 +311,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
},
|
||||
{
|
||||
Name: createContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/create/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-secret-volumes/create/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: createVolumeName,
|
||||
|
@ -456,8 +456,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volume/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volume/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: volumeName,
|
||||
|
@ -606,8 +606,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: deleteContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/delete/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/delete/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: deleteVolumeName,
|
||||
|
@ -618,8 +618,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
},
|
||||
{
|
||||
Name: updateContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/update/data-3"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/update/data-3"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: updateVolumeName,
|
||||
|
@ -630,8 +630,8 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
},
|
||||
{
|
||||
Name: createContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/create/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/projected-configmap-volumes/create/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: createVolumeName,
|
||||
|
@ -744,7 +744,7 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "projected-configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{"--file_content=/etc/projected-configmap-volume/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
@ -980,7 +980,7 @@ var _ = framework.KubeDescribe("Projected", func() {
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "projected-all-volume-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "cat /all/podname && cat /all/secret-data && cat /all/configmap-data"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
@ -1040,7 +1040,7 @@ func doProjectedSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "projected-secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/projected-secret-volume/data-1",
|
||||
"--file_mode=/etc/projected-secret-volume/data-1"},
|
||||
|
@ -1126,7 +1126,7 @@ func doProjectedSecretE2EWithMapping(f *framework.Framework, mode *int32) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "projected-secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/projected-secret-volume/new-path-data-1",
|
||||
"--file_mode=/etc/projected-secret-volume/new-path-data-1"},
|
||||
|
@ -1203,7 +1203,7 @@ func doProjectedConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "projected-configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/projected-configmap-volume/data-1",
|
||||
"--file_mode=/etc/projected-configmap-volume/data-1"},
|
||||
|
@ -1294,7 +1294,7 @@ func doProjectedConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup in
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "projected-configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{"--file_content=/etc/projected-configmap-volume/path/to/data-2",
|
||||
"--file_mode=/etc/projected-configmap-volume/path/to/data-2"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
@ -1344,8 +1344,8 @@ func projectedDownwardAPIVolumePodForModeTest(name, filePath string, itemMode, d
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "client-container",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--file_mode=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--file_mode=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
@ -1370,8 +1370,8 @@ func projectedDownwardAPIVolumePodForUpdateTest(name string, labels, annotations
|
|||
pod.Spec.Containers = []v1.Container{
|
||||
{
|
||||
Name: "client-container",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "podinfo",
|
||||
|
|
|
@ -124,7 +124,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/secret-volume/data-1",
|
||||
"--file_mode=/etc/secret-volume/data-1"},
|
||||
|
@ -245,8 +245,8 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: deleteContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/delete/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/delete/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: deleteVolumeName,
|
||||
|
@ -257,8 +257,8 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
},
|
||||
{
|
||||
Name: updateContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/update/data-3"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/update/data-3"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: updateVolumeName,
|
||||
|
@ -269,8 +269,8 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
},
|
||||
{
|
||||
Name: createContainerName,
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Command: []string{"/mt", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/create/data-1"},
|
||||
Image: mountImage,
|
||||
Command: []string{"/mounttest", "--break_on_expected_content=false", containerTimeoutArg, "--file_content_in_loop=/etc/secret-volumes/create/data-1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: createVolumeName,
|
||||
|
@ -342,7 +342,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
@ -385,7 +385,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
EnvFrom: []v1.EnvFromSource{
|
||||
{
|
||||
|
@ -470,7 +470,7 @@ func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secre
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/secret-volume/data-1",
|
||||
"--file_mode=/etc/secret-volume/data-1"},
|
||||
|
@ -547,7 +547,7 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: mountImage,
|
||||
Args: []string{
|
||||
"--file_content=/etc/secret-volume/new-path-data-1",
|
||||
"--file_mode=/etc/secret-volume/new-path-data-1"},
|
||||
|
|
|
@ -43,7 +43,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "test-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
},
|
||||
},
|
||||
RestartPolicy: v1.RestartPolicyNever,
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
)
|
||||
|
@ -39,6 +40,11 @@ const (
|
|||
FederationE2E Suite = "federation e2e"
|
||||
)
|
||||
|
||||
var (
|
||||
mountImage = imageutils.GetE2EImage(imageutils.Mounttest)
|
||||
busyboxImage = imageutils.GetBusyBoxImage()
|
||||
)
|
||||
|
||||
var CurrentSuite Suite
|
||||
|
||||
// CommonImageWhiteList is the list of images used in common test. These images should be prepulled
|
||||
|
@ -46,17 +52,16 @@ var CurrentSuite Suite
|
|||
// only used by node e2e test.
|
||||
// TODO(random-liu): Change the image puller pod to use similar mechanism.
|
||||
var CommonImageWhiteList = sets.NewString(
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
"gcr.io/google_containers/eptest:0.1",
|
||||
"gcr.io/google_containers/liveness:e2e",
|
||||
"gcr.io/google_containers/mounttest:0.8",
|
||||
"gcr.io/google_containers/mounttest-user:0.5",
|
||||
"gcr.io/google_containers/netexec:1.4",
|
||||
"gcr.io/google_containers/netexec:1.5",
|
||||
"gcr.io/google_containers/nginx-slim:0.7",
|
||||
"gcr.io/google_containers/serve_hostname:v1.4",
|
||||
"gcr.io/google_containers/test-webserver:e2e",
|
||||
"gcr.io/google_containers/hostexec:1.2",
|
||||
imageutils.GetBusyBoxImage(),
|
||||
imageutils.GetE2EImage(imageutils.EntrypointTester),
|
||||
imageutils.GetE2EImage(imageutils.Liveness),
|
||||
imageutils.GetE2EImage(imageutils.Mounttest),
|
||||
imageutils.GetE2EImage(imageutils.MounttestUser),
|
||||
imageutils.GetE2EImage(imageutils.Netexec),
|
||||
imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
imageutils.GetE2EImage(imageutils.ServeHostname),
|
||||
imageutils.GetE2EImage(imageutils.TestWebserver),
|
||||
imageutils.GetE2EImage(imageutils.Hostexec),
|
||||
"gcr.io/google_containers/volume-nfs:0.8",
|
||||
"gcr.io/google_containers/volume-gluster:0.2",
|
||||
"gcr.io/google_containers/e2e-net-amd64:1.0",
|
||||
|
|
|
@ -73,7 +73,7 @@ func NewTestJob(behavior, name string, rPol v1.RestartPolicy, parallelism, compl
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "c",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: BusyBoxImage,
|
||||
Command: []string{},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
|
|
@ -41,6 +41,7 @@ import (
|
|||
clientset "k8s.io/client-go/kubernetes"
|
||||
coreclientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -49,8 +50,6 @@ const (
|
|||
TestContainerHttpPort = 8080
|
||||
ClusterHttpPort = 80
|
||||
ClusterUdpPort = 90
|
||||
NetexecImageName = "gcr.io/google_containers/netexec:1.7"
|
||||
HostexecImageName = "gcr.io/google_containers/hostexec:1.2"
|
||||
testPodName = "test-container-pod"
|
||||
hostTestPodName = "host-test-container-pod"
|
||||
nodePortServiceName = "node-port-service"
|
||||
|
@ -64,6 +63,8 @@ const (
|
|||
maxNetProxyPodsCount = 10
|
||||
)
|
||||
|
||||
var NetexecImageName = imageutils.GetE2EImage(imageutils.Netexec)
|
||||
|
||||
// NewNetworkingTestConfig creates and sets up a new test config helper.
|
||||
func NewNetworkingTestConfig(f *Framework) *NetworkingTestConfig {
|
||||
config := &NetworkingTestConfig{f: f, Namespace: f.Namespace.Name}
|
||||
|
|
|
@ -28,6 +28,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/fields"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func EtcdUpgrade(target_storage, target_version string) error {
|
||||
|
@ -286,7 +287,7 @@ func gceUpgradeScript() string {
|
|||
func waitForSSHTunnels() {
|
||||
Logf("Waiting for SSH tunnels to establish")
|
||||
RunKubectl("run", "ssh-tunnel-test",
|
||||
"--image=gcr.io/google_containers/busybox:1.24",
|
||||
"--image="+imageutils.GetBusyBoxImage(),
|
||||
"--restart=Never",
|
||||
"--command", "--",
|
||||
"echo", "Hello")
|
||||
|
|
|
@ -815,7 +815,7 @@ func MakePod(ns string, pvclaims []*v1.PersistentVolumeClaim, isPrivileged bool,
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "write-pod",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: BusyBoxImage,
|
||||
Command: []string{"/bin/sh"},
|
||||
Args: []string{"-c", command},
|
||||
SecurityContext: &v1.SecurityContext{
|
||||
|
|
|
@ -42,6 +42,7 @@ import (
|
|||
azurecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
|
||||
gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
|
||||
testutils "k8s.io/kubernetes/test/utils"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -601,7 +602,7 @@ func (j *ServiceTestJig) newRCTemplate(namespace string) *v1.ReplicationControll
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "netexec",
|
||||
Image: "gcr.io/google_containers/netexec:1.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.Netexec),
|
||||
Args: []string{"--http-port=80", "--udp-port=80"},
|
||||
ReadinessProbe: &v1.Probe{
|
||||
PeriodSeconds: 3,
|
||||
|
@ -948,7 +949,7 @@ func NewServerTest(client clientset.Interface, namespace string, serviceName str
|
|||
t.services = make(map[string]bool)
|
||||
|
||||
t.Name = "webserver"
|
||||
t.Image = "gcr.io/google_containers/test-webserver:e2e"
|
||||
t.Image = imageutils.GetE2EImage(imageutils.TestWebserver)
|
||||
|
||||
return t
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import (
|
|||
clientset "k8s.io/client-go/kubernetes"
|
||||
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
||||
"k8s.io/kubernetes/test/e2e/manifest"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -812,7 +813,7 @@ func NewStatefulSet(name, ns, governingSvcName string, replicas int32, statefulP
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
VolumeMounts: mounts,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -95,6 +95,7 @@ import (
|
|||
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
|
||||
"k8s.io/kubernetes/test/e2e/framework/ginkgowrapper"
|
||||
testutil "k8s.io/kubernetes/test/utils"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
uexec "k8s.io/utils/exec"
|
||||
)
|
||||
|
||||
|
@ -178,8 +179,6 @@ const (
|
|||
// TODO(justinsb): Avoid hardcoding this.
|
||||
awsMasterIP = "172.20.0.9"
|
||||
|
||||
// Serve hostname image name
|
||||
ServeHostnameImage = "gcr.io/google_containers/serve_hostname:v1.4"
|
||||
// ssh port
|
||||
sshPort = "22"
|
||||
|
||||
|
@ -191,6 +190,7 @@ const (
|
|||
)
|
||||
|
||||
var (
|
||||
BusyBoxImage = imageutils.GetBusyBoxImage()
|
||||
// Label allocated to the image puller static pod that runs on each node
|
||||
// before e2es.
|
||||
ImagePullerLabels = map[string]string{"name": "e2e-image-puller"}
|
||||
|
@ -204,6 +204,9 @@ var (
|
|||
regexp.MustCompile(".*fluentd-elasticsearch.*"),
|
||||
regexp.MustCompile(".*node-problem-detector.*"),
|
||||
}
|
||||
|
||||
// Serve hostname image name
|
||||
ServeHostnameImage = imageutils.GetE2EImage(imageutils.ServeHostname)
|
||||
)
|
||||
|
||||
type Address struct {
|
||||
|
@ -417,7 +420,7 @@ func ProxyMode(f *Framework) (string, error) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "detector",
|
||||
Image: "gcr.io/google_containers/e2e-net-amd64:1.0",
|
||||
Image: imageutils.GetE2EImage(imageutils.Net),
|
||||
Command: []string{"/bin/sleep", "3600"},
|
||||
},
|
||||
},
|
||||
|
@ -3260,7 +3263,7 @@ func NewHostExecPodSpec(ns, name string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "hostexec",
|
||||
Image: "gcr.io/google_containers/hostexec:1.2",
|
||||
Image: imageutils.GetE2EImage(imageutils.Hostexec),
|
||||
ImagePullPolicy: v1.PullIfNotPresent,
|
||||
},
|
||||
},
|
||||
|
@ -3328,7 +3331,7 @@ func newExecPodSpec(ns, generateName string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "exec",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: BusyBoxImage,
|
||||
Command: []string{"sh", "-c", "while true; do sleep 5; done"},
|
||||
},
|
||||
},
|
||||
|
@ -4425,7 +4428,7 @@ func LaunchWebserverPod(f *Framework, podName, nodeName string) (ip string) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: containerName,
|
||||
Image: "gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0",
|
||||
Image: imageutils.GetE2EImage(imageutils.Porter),
|
||||
Env: []v1.EnvVar{{Name: fmt.Sprintf("SERVE_PORT_%d", port), Value: "foo"}},
|
||||
Ports: []v1.ContainerPort{{ContainerPort: int32(port)}},
|
||||
},
|
||||
|
@ -4468,7 +4471,7 @@ func CheckConnectivityToHost(f *Framework, nodeName, podName, host string, timeo
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: contName,
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: BusyBoxImage,
|
||||
Command: command,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -61,7 +61,6 @@ const (
|
|||
GlusterfsServerImage string = "gcr.io/google_containers/volume-gluster:0.2"
|
||||
CephServerImage string = "gcr.io/google_containers/volume-ceph:0.1"
|
||||
RbdServerImage string = "gcr.io/google_containers/volume-rbd:0.1"
|
||||
BusyBoxImage string = "gcr.io/google_containers/busybox:1.24"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -457,7 +456,7 @@ func InjectHtml(client clientset.Interface, config VolumeTestConfig, volume v1.V
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: config.Prefix + "-injector",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: BusyBoxImage,
|
||||
Command: []string{"/bin/sh"},
|
||||
Args: []string{"-c", "echo '" + content + "' > /mnt/index.html && chmod o+rX /mnt /mnt/index.html"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -28,6 +28,7 @@ import (
|
|||
"k8s.io/api/core/v1"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
instrumentation "k8s.io/kubernetes/test/e2e/instrumentation/common"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = instrumentation.SIGDescribe("Logging soak [Performance] [Slow] [Disruptive]", func() {
|
||||
|
@ -100,7 +101,7 @@ func RunLogPodsWithSleepOf(f *framework.Framework, sleep time.Duration, podname
|
|||
return v1.PodSpec{
|
||||
Containers: []v1.Container{{
|
||||
Name: "logging-soak",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Args: []string{
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
|
|
@ -38,6 +38,7 @@ import (
|
|||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"text/template"
|
||||
"time"
|
||||
|
||||
"github.com/elazarl/goproxy"
|
||||
|
@ -68,21 +69,11 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
nautilusImage = "gcr.io/google_containers/update-demo:nautilus"
|
||||
kittenImage = "gcr.io/google_containers/update-demo:kitten"
|
||||
updateDemoSelector = "name=update-demo"
|
||||
updateDemoContainer = "update-demo"
|
||||
frontendSelector = "app=guestbook,tier=frontend"
|
||||
redisMasterSelector = "app=redis,role=master"
|
||||
redisSlaveSelector = "app=redis,role=slave"
|
||||
goproxyContainer = "goproxy"
|
||||
goproxyPodSelector = "name=goproxy"
|
||||
netexecContainer = "netexec"
|
||||
netexecPodSelector = "name=netexec"
|
||||
kubectlProxyPort = 8011
|
||||
guestbookStartupTimeout = 10 * time.Minute
|
||||
guestbookResponseTimeout = 3 * time.Minute
|
||||
simplePodSelector = "name=nginx"
|
||||
|
@ -92,18 +83,41 @@ const (
|
|||
pausePodSelector = "name=pause"
|
||||
pausePodName = "pause"
|
||||
runJobTimeout = 5 * time.Minute
|
||||
busyboxImage = "gcr.io/google_containers/busybox:1.24"
|
||||
nginxImage = "gcr.io/google_containers/nginx-slim:0.7"
|
||||
newNginxImage = "gcr.io/google_containers/nginx-slim:0.8"
|
||||
kubeCtlManifestPath = "test/e2e/testing-manifests/kubectl"
|
||||
redisControllerFilename = "redis-master-controller.json"
|
||||
redisControllerFilename = "redis-master-controller.json.in"
|
||||
redisServiceFilename = "redis-master-service.json"
|
||||
nginxDeployment1Filename = "nginx-deployment1.yaml"
|
||||
nginxDeployment2Filename = "nginx-deployment2.yaml"
|
||||
nginxDeployment3Filename = "nginx-deployment3.yaml"
|
||||
redisImage = "gcr.io/k8s-testimages/redis:e2e"
|
||||
nginxDeployment1Filename = "nginx-deployment1.yaml.in"
|
||||
nginxDeployment2Filename = "nginx-deployment2.yaml.in"
|
||||
nginxDeployment3Filename = "nginx-deployment3.yaml.in"
|
||||
)
|
||||
|
||||
var (
|
||||
nautilusImage = imageutils.GetE2EImage(imageutils.Nautilus)
|
||||
kittenImage = imageutils.GetE2EImage(imageutils.Kitten)
|
||||
redisImage = imageutils.GetE2EImage(imageutils.Redis)
|
||||
nginxImage = imageutils.GetE2EImage(imageutils.NginxSlim)
|
||||
busyboxImage = imageutils.GetBusyBoxImage()
|
||||
)
|
||||
|
||||
var testImages = struct {
|
||||
FrontendImage string
|
||||
PauseImage string
|
||||
NginxSlimImage string
|
||||
NginxSlimNewImage string
|
||||
RedisImage string
|
||||
RedisslaveImage string
|
||||
NautilusImage string
|
||||
KittenImage string
|
||||
}{
|
||||
imageutils.GetE2EImage(imageutils.Frontend),
|
||||
imageutils.GetE2EImage(imageutils.Pause),
|
||||
imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
imageutils.GetE2EImage(imageutils.NginxSlimNew),
|
||||
imageutils.GetE2EImage(imageutils.Redis),
|
||||
imageutils.GetE2EImage(imageutils.Redisslave),
|
||||
imageutils.GetE2EImage(imageutils.Nautilus),
|
||||
imageutils.GetE2EImage(imageutils.Kitten),
|
||||
}
|
||||
var (
|
||||
proxyRegexp = regexp.MustCompile("Starting to serve on 127.0.0.1:([0-9]+)")
|
||||
|
||||
|
@ -162,6 +176,19 @@ func cleanupKubectlInputs(fileContents string, ns string, selectors ...string) {
|
|||
framework.AssertCleanup(ns, selectors...)
|
||||
}
|
||||
|
||||
func substituteImageName(content string) string {
|
||||
contentWithImageName := new(bytes.Buffer)
|
||||
tmpl, err := template.New("imagemanifest").Parse(content)
|
||||
if err != nil {
|
||||
framework.Failf("Failed Parse the template:", err)
|
||||
}
|
||||
err = tmpl.Execute(contentWithImageName, testImages)
|
||||
if err != nil {
|
||||
framework.Failf("Failed executing template:", err)
|
||||
}
|
||||
return contentWithImageName.String()
|
||||
}
|
||||
|
||||
func readTestFileOrDie(file string) []byte {
|
||||
return generated.ReadOrDie(path.Join(kubeCtlManifestPath, file))
|
||||
}
|
||||
|
@ -272,25 +299,25 @@ var _ = SIGDescribe("Kubectl client", func() {
|
|||
}
|
||||
|
||||
framework.KubeDescribe("Update Demo", func() {
|
||||
var nautilus, kitten []byte
|
||||
var nautilus, kitten string
|
||||
BeforeEach(func() {
|
||||
updateDemoRoot := "test/fixtures/doc-yaml/user-guide/update-demo"
|
||||
nautilus = generated.ReadOrDie(filepath.Join(updateDemoRoot, "nautilus-rc.yaml"))
|
||||
kitten = generated.ReadOrDie(filepath.Join(updateDemoRoot, "kitten-rc.yaml"))
|
||||
nautilus = substituteImageName(string(generated.ReadOrDie(filepath.Join(updateDemoRoot, "nautilus-rc.yaml.in"))))
|
||||
kitten = substituteImageName(string(generated.ReadOrDie(filepath.Join(updateDemoRoot, "kitten-rc.yaml.in"))))
|
||||
})
|
||||
It("should create and stop a replication controller [Conformance]", func() {
|
||||
defer cleanupKubectlInputs(string(nautilus), ns, updateDemoSelector)
|
||||
defer cleanupKubectlInputs(nautilus, ns, updateDemoSelector)
|
||||
|
||||
By("creating a replication controller")
|
||||
framework.RunKubectlOrDieInput(string(nautilus[:]), "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
framework.RunKubectlOrDieInput(nautilus, "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
framework.ValidateController(c, nautilusImage, 2, "update-demo", updateDemoSelector, getUDData("nautilus.jpg", ns), ns)
|
||||
})
|
||||
|
||||
It("should scale a replication controller [Conformance]", func() {
|
||||
defer cleanupKubectlInputs(string(nautilus[:]), ns, updateDemoSelector)
|
||||
defer cleanupKubectlInputs(nautilus, ns, updateDemoSelector)
|
||||
|
||||
By("creating a replication controller")
|
||||
framework.RunKubectlOrDieInput(string(nautilus[:]), "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
framework.RunKubectlOrDieInput(nautilus, "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
framework.ValidateController(c, nautilusImage, 2, "update-demo", updateDemoSelector, getUDData("nautilus.jpg", ns), ns)
|
||||
By("scaling down the replication controller")
|
||||
framework.RunKubectlOrDie("scale", "rc", "update-demo-nautilus", "--replicas=1", "--timeout=5m", fmt.Sprintf("--namespace=%v", ns))
|
||||
|
@ -344,16 +371,14 @@ var _ = SIGDescribe("Kubectl client", func() {
|
|||
})
|
||||
|
||||
framework.KubeDescribe("Simple pod", func() {
|
||||
var podPath []byte
|
||||
|
||||
podYaml := substituteImageName(string(readTestFileOrDie("pod-with-readiness-probe.yaml.in")))
|
||||
BeforeEach(func() {
|
||||
podPath = generated.ReadOrDie(path.Join(kubeCtlManifestPath, "pod-with-readiness-probe.yaml"))
|
||||
By(fmt.Sprintf("creating the pod from %v", string(podPath)))
|
||||
framework.RunKubectlOrDieInput(string(podPath[:]), "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
By(fmt.Sprintf("creating the pod from %v", podYaml))
|
||||
framework.RunKubectlOrDieInput(podYaml, "create", "-f", "-", fmt.Sprintf("--namespace=%v", ns))
|
||||
Expect(framework.CheckPodsRunningReady(c, ns, []string{simplePodName}, framework.PodStartTimeout)).To(BeTrue())
|
||||
})
|
||||
AfterEach(func() {
|
||||
cleanupKubectlInputs(string(podPath[:]), ns, simplePodSelector)
|
||||
cleanupKubectlInputs(podYaml, ns, simplePodSelector)
|
||||
})
|
||||
|
||||
It("should support exec", func() {
|
||||
|
@ -707,13 +732,13 @@ metadata:
|
|||
|
||||
framework.KubeDescribe("Kubectl apply", func() {
|
||||
It("should apply a new configuration to an existing RC", func() {
|
||||
controllerJson := readTestFileOrDie(redisControllerFilename)
|
||||
controllerJson := substituteImageName(string(readTestFileOrDie(redisControllerFilename)))
|
||||
|
||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||
By("creating Redis RC")
|
||||
framework.RunKubectlOrDieInput(string(controllerJson), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(controllerJson, "create", "-f", "-", nsFlag)
|
||||
By("applying a modified configuration")
|
||||
stdin := modifyReplicationControllerConfiguration(string(controllerJson))
|
||||
stdin := modifyReplicationControllerConfiguration(controllerJson)
|
||||
framework.NewKubectlCommand("apply", "-f", "-", nsFlag).
|
||||
WithStdinReader(stdin).
|
||||
ExecOrDie()
|
||||
|
@ -743,26 +768,26 @@ metadata:
|
|||
})
|
||||
|
||||
It("apply set/view last-applied", func() {
|
||||
deployment1Yaml := readTestFileOrDie(nginxDeployment1Filename)
|
||||
deployment2Yaml := readTestFileOrDie(nginxDeployment2Filename)
|
||||
deployment3Yaml := readTestFileOrDie(nginxDeployment3Filename)
|
||||
deployment1Yaml := substituteImageName(string(readTestFileOrDie(nginxDeployment1Filename)))
|
||||
deployment2Yaml := substituteImageName(string(readTestFileOrDie(nginxDeployment2Filename)))
|
||||
deployment3Yaml := substituteImageName(string(readTestFileOrDie(nginxDeployment3Filename)))
|
||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||
|
||||
By("deployment replicas number is 2")
|
||||
framework.RunKubectlOrDieInput(string(deployment1Yaml[:]), "apply", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(deployment1Yaml, "apply", "-f", "-", nsFlag)
|
||||
|
||||
By("check the last-applied matches expectations annotations")
|
||||
output := framework.RunKubectlOrDieInput(string(deployment1Yaml[:]), "apply", "view-last-applied", "-f", "-", nsFlag, "-o", "json")
|
||||
output := framework.RunKubectlOrDieInput(deployment1Yaml, "apply", "view-last-applied", "-f", "-", nsFlag, "-o", "json")
|
||||
requiredString := "\"replicas\": 2"
|
||||
if !strings.Contains(output, requiredString) {
|
||||
framework.Failf("Missing %s in kubectl view-last-applied", requiredString)
|
||||
}
|
||||
|
||||
By("apply file doesn't have replicas")
|
||||
framework.RunKubectlOrDieInput(string(deployment2Yaml[:]), "apply", "set-last-applied", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(deployment2Yaml, "apply", "set-last-applied", "-f", "-", nsFlag)
|
||||
|
||||
By("check last-applied has been updated, annotations doesn't replicas")
|
||||
output = framework.RunKubectlOrDieInput(string(deployment1Yaml[:]), "apply", "view-last-applied", "-f", "-", nsFlag, "-o", "json")
|
||||
output = framework.RunKubectlOrDieInput(deployment1Yaml, "apply", "view-last-applied", "-f", "-", nsFlag, "-o", "json")
|
||||
requiredString = "\"replicas\": 2"
|
||||
if strings.Contains(output, requiredString) {
|
||||
framework.Failf("Missing %s in kubectl view-last-applied", requiredString)
|
||||
|
@ -773,11 +798,11 @@ metadata:
|
|||
framework.RunKubectlOrDie("scale", "deployment", nginxDeploy, "--replicas=3", nsFlag)
|
||||
|
||||
By("apply file doesn't have replicas but image changed")
|
||||
framework.RunKubectlOrDieInput(string(deployment3Yaml[:]), "apply", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(deployment3Yaml, "apply", "-f", "-", nsFlag)
|
||||
|
||||
By("verify replicas still is 3 and image has been updated")
|
||||
output = framework.RunKubectlOrDieInput(string(deployment3Yaml[:]), "get", "-f", "-", nsFlag, "-o", "json")
|
||||
requiredItems := []string{"\"replicas\": 3", "nginx-slim:0.7"}
|
||||
output = framework.RunKubectlOrDieInput(deployment3Yaml, "get", "-f", "-", nsFlag, "-o", "json")
|
||||
requiredItems := []string{"\"replicas\": 3", imageutils.GetE2EImage(imageutils.NginxSlim)}
|
||||
for _, item := range requiredItems {
|
||||
if !strings.Contains(output, item) {
|
||||
framework.Failf("Missing %s in kubectl apply", item)
|
||||
|
@ -809,11 +834,11 @@ metadata:
|
|||
kv, err := framework.KubectlVersion()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
framework.SkipUnlessServerVersionGTE(kv, c.Discovery())
|
||||
controllerJson := readTestFileOrDie(redisControllerFilename)
|
||||
controllerJson := substituteImageName(string(readTestFileOrDie(redisControllerFilename)))
|
||||
serviceJson := readTestFileOrDie(redisServiceFilename)
|
||||
|
||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||
framework.RunKubectlOrDieInput(string(controllerJson[:]), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(controllerJson, "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(string(serviceJson[:]), "create", "-f", "-", nsFlag)
|
||||
|
||||
By("Waiting for Redis master to start.")
|
||||
|
@ -910,7 +935,7 @@ metadata:
|
|||
|
||||
framework.KubeDescribe("Kubectl expose", func() {
|
||||
It("should create services for rc [Conformance]", func() {
|
||||
controllerJson := readTestFileOrDie(redisControllerFilename)
|
||||
controllerJson := substituteImageName(string(readTestFileOrDie(redisControllerFilename)))
|
||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||
|
||||
redisPort := 6379
|
||||
|
@ -918,7 +943,7 @@ metadata:
|
|||
By("creating Redis RC")
|
||||
|
||||
framework.Logf("namespace %v", ns)
|
||||
framework.RunKubectlOrDieInput(string(controllerJson[:]), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(controllerJson, "create", "-f", "-", nsFlag)
|
||||
|
||||
// It may take a while for the pods to get registered in some cases, wait to be sure.
|
||||
By("Waiting for Redis master to start.")
|
||||
|
@ -988,17 +1013,16 @@ metadata:
|
|||
})
|
||||
|
||||
framework.KubeDescribe("Kubectl label", func() {
|
||||
var pod []byte
|
||||
podYaml := substituteImageName(string(readTestFileOrDie("pause-pod.yaml.in")))
|
||||
var nsFlag string
|
||||
BeforeEach(func() {
|
||||
pod = readTestFileOrDie("pause-pod.yaml")
|
||||
By("creating the pod")
|
||||
nsFlag = fmt.Sprintf("--namespace=%v", ns)
|
||||
framework.RunKubectlOrDieInput(string(pod), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(podYaml, "create", "-f", "-", nsFlag)
|
||||
Expect(framework.CheckPodsRunningReady(c, ns, []string{pausePodName}, framework.PodStartTimeout)).To(BeTrue())
|
||||
})
|
||||
AfterEach(func() {
|
||||
cleanupKubectlInputs(string(pod[:]), ns, pausePodSelector)
|
||||
cleanupKubectlInputs(podYaml, ns, pausePodSelector)
|
||||
})
|
||||
|
||||
It("should update the label on a resource [Conformance]", func() {
|
||||
|
@ -1024,17 +1048,16 @@ metadata:
|
|||
})
|
||||
|
||||
framework.KubeDescribe("Kubectl logs", func() {
|
||||
var rc []byte
|
||||
var nsFlag string
|
||||
rc := substituteImageName(string(readTestFileOrDie(redisControllerFilename)))
|
||||
containerName := "redis-master"
|
||||
BeforeEach(func() {
|
||||
rc = readTestFileOrDie(redisControllerFilename)
|
||||
By("creating an rc")
|
||||
nsFlag = fmt.Sprintf("--namespace=%v", ns)
|
||||
framework.RunKubectlOrDieInput(string(rc[:]), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(rc, "create", "-f", "-", nsFlag)
|
||||
})
|
||||
AfterEach(func() {
|
||||
cleanupKubectlInputs(string(rc[:]), ns, simplePodSelector)
|
||||
cleanupKubectlInputs(rc, ns, simplePodSelector)
|
||||
})
|
||||
|
||||
It("should be able to retrieve and filter logs [Conformance]", func() {
|
||||
|
@ -1091,10 +1114,10 @@ metadata:
|
|||
|
||||
framework.KubeDescribe("Kubectl patch", func() {
|
||||
It("should add annotations for pods in rc [Conformance]", func() {
|
||||
controllerJson := readTestFileOrDie(redisControllerFilename)
|
||||
controllerJson := substituteImageName(string(readTestFileOrDie(redisControllerFilename)))
|
||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||
By("creating Redis RC")
|
||||
framework.RunKubectlOrDieInput(string(controllerJson[:]), "create", "-f", "-", nsFlag)
|
||||
framework.RunKubectlOrDieInput(controllerJson, "create", "-f", "-", nsFlag)
|
||||
By("Waiting for Redis master to start.")
|
||||
waitForOrFailWithDebug(1)
|
||||
By("patching all pods")
|
||||
|
|
|
@ -39,6 +39,7 @@ import (
|
|||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
testutils "k8s.io/kubernetes/test/utils"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -64,7 +65,7 @@ func pfPod(expectedClientData, chunks, chunkSize, chunkIntervalMillis string, bi
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "readiness",
|
||||
Image: "gcr.io/google_containers/netexec:1.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.Netexec),
|
||||
ReadinessProbe: &v1.Probe{
|
||||
Handler: v1.Handler{
|
||||
Exec: &v1.ExecAction{
|
||||
|
@ -79,7 +80,7 @@ func pfPod(expectedClientData, chunks, chunkSize, chunkIntervalMillis string, bi
|
|||
},
|
||||
{
|
||||
Name: "portforwardtester",
|
||||
Image: "gcr.io/google_containers/portforwardtester:1.2",
|
||||
Image: imageutils.GetE2EImage(imageutils.PortForwardTester),
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
Name: "BIND_PORT",
|
||||
|
|
|
@ -32,6 +32,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// TODO: it would probably be slightly better to build up the objects
|
||||
|
@ -56,7 +57,7 @@ spec:
|
|||
k8s-app: addon-reconcile-test
|
||||
spec:
|
||||
containers:
|
||||
- image: gcr.io/google_containers/serve_hostname:v1.4
|
||||
- image: %s
|
||||
name: addon-reconcile-test
|
||||
ports:
|
||||
- containerPort: 9376
|
||||
|
@ -85,7 +86,7 @@ spec:
|
|||
k8s-app: addon-reconcile-test
|
||||
spec:
|
||||
containers:
|
||||
- image: gcr.io/google_containers/serve_hostname:v1.4
|
||||
- image: %s
|
||||
name: addon-reconcile-test
|
||||
ports:
|
||||
- containerPort: 9376
|
||||
|
@ -188,7 +189,7 @@ spec:
|
|||
k8s-app: invalid-addon-test
|
||||
spec:
|
||||
containers:
|
||||
- image: gcr.io/google_containers/serve_hostname:v1.4
|
||||
- image: %s
|
||||
name: invalid-addon-test
|
||||
ports:
|
||||
- containerPort: 9376
|
||||
|
@ -201,6 +202,8 @@ const (
|
|||
addonNsName = metav1.NamespaceSystem
|
||||
)
|
||||
|
||||
var serveHostnameImage = imageutils.GetE2EImage(imageutils.ServeHostname)
|
||||
|
||||
type stringPair struct {
|
||||
data, fileName string
|
||||
}
|
||||
|
@ -259,13 +262,13 @@ var _ = SIGDescribe("Addon update", func() {
|
|||
svcAddonEnsureExistsUpdated := "addon-ensure-exists-service-updated.yaml"
|
||||
|
||||
var remoteFiles []stringPair = []stringPair{
|
||||
{fmt.Sprintf(reconcile_addon_controller, addonNsName), rcAddonReconcile},
|
||||
{fmt.Sprintf(reconcile_addon_controller_updated, addonNsName), rcAddonReconcileUpdated},
|
||||
{fmt.Sprintf(reconcile_addon_controller, addonNsName, serveHostnameImage), rcAddonReconcile},
|
||||
{fmt.Sprintf(reconcile_addon_controller_updated, addonNsName, serveHostnameImage), rcAddonReconcileUpdated},
|
||||
{fmt.Sprintf(deprecated_label_addon_service, addonNsName), svcAddonDeprecatedLabel},
|
||||
{fmt.Sprintf(deprecated_label_addon_service_updated, addonNsName), svcAddonDeprecatedLabelUpdated},
|
||||
{fmt.Sprintf(ensure_exists_addon_service, addonNsName), svcAddonEnsureExists},
|
||||
{fmt.Sprintf(ensure_exists_addon_service_updated, addonNsName), svcAddonEnsureExistsUpdated},
|
||||
{fmt.Sprintf(invalid_addon_controller, addonNsName), rcInvalid},
|
||||
{fmt.Sprintf(invalid_addon_controller, addonNsName, serveHostnameImage), rcInvalid},
|
||||
}
|
||||
|
||||
for _, p := range remoteFiles {
|
||||
|
|
|
@ -32,6 +32,7 @@ import (
|
|||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const dnsTestPodHostName = "dns-querier-1"
|
||||
|
@ -65,7 +66,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio
|
|||
// TODO: Consider scraping logs instead of running a webserver.
|
||||
{
|
||||
Name: "webserver",
|
||||
Image: "gcr.io/google_containers/test-webserver:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
||||
Ports: []v1.ContainerPort{
|
||||
{
|
||||
Name: "http",
|
||||
|
@ -81,7 +82,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio
|
|||
},
|
||||
{
|
||||
Name: "querier",
|
||||
Image: "gcr.io/google_containers/dnsutils:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Dnsutils),
|
||||
Command: []string{"sh", "-c", wheezyProbeCmd},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
@ -92,7 +93,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio
|
|||
},
|
||||
{
|
||||
Name: "jessie-querier",
|
||||
Image: "gcr.io/google_containers/jessie-dnsutils:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.JessieDnsutils),
|
||||
Command: []string{"sh", "-c", jessieProbeCmd},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -179,7 +180,7 @@ func (t *dnsTestCommon) createUtilPod() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "util",
|
||||
Image: "gcr.io/google_containers/dnsutils:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Dnsutils),
|
||||
Command: []string{"sleep", "10000"},
|
||||
Ports: []v1.ContainerPort{
|
||||
{ContainerPort: servicePort, Protocol: "TCP"},
|
||||
|
|
|
@ -29,12 +29,13 @@ import (
|
|||
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
"k8s.io/kubernetes/test/images/net/nat"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
const kubeProxyE2eImage = "gcr.io/google_containers/e2e-net-amd64:1.0"
|
||||
var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Net)
|
||||
|
||||
var _ = SIGDescribe("Network", func() {
|
||||
const (
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
/*
|
||||
|
@ -368,7 +369,7 @@ func createServerPodAndService(f *framework.Framework, namespace *v1.Namespace,
|
|||
// Build the containers for the server pod.
|
||||
containers = append(containers, v1.Container{
|
||||
Name: fmt.Sprintf("%s-container-%d", podName, port),
|
||||
Image: "gcr.io/google_containers/redis:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Redis),
|
||||
Args: []string{
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
@ -447,7 +448,7 @@ func createNetworkClientPod(f *framework.Framework, namespace *v1.Namespace, pod
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: fmt.Sprintf("%s-container", podName),
|
||||
Image: "gcr.io/google_containers/redis:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Redis),
|
||||
Args: []string{
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
|
|
@ -26,6 +26,7 @@ import (
|
|||
. "github.com/onsi/gomega"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -63,7 +64,7 @@ var _ = SIGDescribe("Networking IPerf [Experimental] [Slow] [Feature:Networking-
|
|||
return v1.PodSpec{
|
||||
Containers: []v1.Container{{
|
||||
Name: "iperf-server",
|
||||
Image: "gcr.io/google_containers/iperf:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Iperf),
|
||||
Args: []string{
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
@ -91,7 +92,7 @@ var _ = SIGDescribe("Networking IPerf [Experimental] [Slow] [Feature:Networking-
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "iperf-client",
|
||||
Image: "gcr.io/google_containers/iperf:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.Iperf),
|
||||
Args: []string{
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
|
|
@ -31,16 +31,18 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
// . "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
testPodPort = 8080
|
||||
testPodImage = "gcr.io/google_containers/no-snat-test-amd64:1.0.1"
|
||||
testPodPort = 8080
|
||||
|
||||
testProxyPort = 31235 // Firewall rule allows external traffic on ports 30000-32767. I just picked a random one.
|
||||
testProxyImage = "gcr.io/google_containers/no-snat-test-proxy-amd64:1.0.1"
|
||||
testProxyPort = 31235 // Firewall rule allows external traffic on ports 30000-32767. I just picked a random one.
|
||||
)
|
||||
|
||||
var testPodImage = imageutils.GetE2EImage(imageutils.NoSnatTest)
|
||||
var testProxyImage = imageutils.GetE2EImage(imageutils.NoSnatTestProxy)
|
||||
|
||||
var (
|
||||
testPod = v1.Pod{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
|
|
|
@ -35,6 +35,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
testutils "k8s.io/kubernetes/test/utils"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -114,7 +115,7 @@ var _ = SIGDescribe("Proxy", func() {
|
|||
cfg := testutils.RCConfig{
|
||||
Client: f.ClientSet,
|
||||
InternalClient: f.InternalClientset,
|
||||
Image: "gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0",
|
||||
Image: imageutils.GetE2EImage(imageutils.Porter),
|
||||
Name: service.Name,
|
||||
Namespace: f.Namespace.Name,
|
||||
Replicas: 1,
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||
"k8s.io/kubernetes/pkg/controller/endpoint"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -1129,7 +1130,7 @@ var _ = SIGDescribe("Services", func() {
|
|||
}()
|
||||
|
||||
t.Name = "slow-terminating-unready-pod"
|
||||
t.Image = "gcr.io/google_containers/netexec:1.7"
|
||||
t.Image = imageutils.GetE2EImage(imageutils.Netexec)
|
||||
port := 80
|
||||
terminateSeconds := int64(600)
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -169,7 +170,7 @@ func createPodUsingNfs(f *framework.Framework, c clientset.Interface, ns, nfsIP,
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "pod-nfs-vol",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"/bin/sh"},
|
||||
Args: cmdLine,
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -32,6 +32,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func scTestPod(hostIPC bool, hostPID bool) *v1.Pod {
|
||||
|
@ -49,7 +50,7 @@ func scTestPod(hostIPC bool, hostPID bool) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "test-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
},
|
||||
},
|
||||
RestartPolicy: v1.RestartPolicyNever,
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// This test requires that --terminated-pod-gc-threshold=100 be set on the controller manager
|
||||
|
@ -89,7 +90,7 @@ func createTerminatingPod(f *framework.Framework) (*v1.Pod, error) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: string(uuid),
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
},
|
||||
},
|
||||
SchedulerName: "please don't schedule my pods",
|
||||
|
|
|
@ -35,6 +35,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = framework.KubeDescribe("Pods Extended", func() {
|
||||
|
@ -62,7 +63,7 @@ var _ = framework.KubeDescribe("Pods Extended", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -212,7 +213,7 @@ var _ = framework.KubeDescribe("Pods Extended", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Resources: v1.ResourceRequirements{
|
||||
Limits: v1.ResourceList{
|
||||
v1.ResourceCPU: resource.MustParse("100m"),
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
)
|
||||
|
@ -46,7 +47,7 @@ func testPreStop(c clientset.Interface, ns string) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "server",
|
||||
Image: "gcr.io/google_containers/nettest:1.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.Nettest),
|
||||
Ports: []v1.ContainerPort{{ContainerPort: 8080}},
|
||||
},
|
||||
},
|
||||
|
@ -79,7 +80,7 @@ func testPreStop(c clientset.Interface, ns string) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "tester",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sleep", "600"},
|
||||
Lifecycle: &v1.Lifecycle{
|
||||
PreStop: &v1.Handler{
|
||||
|
|
|
@ -31,6 +31,7 @@ import (
|
|||
utilyaml "k8s.io/apimachinery/pkg/util/yaml"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -38,7 +39,6 @@ import (
|
|||
|
||||
const (
|
||||
testPodNamePrefix = "nvidia-gpu-"
|
||||
testCUDAImage = "gcr.io/google_containers/cuda-vector-add:v0.1"
|
||||
cosOSImage = "Container-Optimized OS from Google"
|
||||
// Nvidia driver installation can take upwards of 5 minutes.
|
||||
driverInstallTimeout = 10 * time.Minute
|
||||
|
@ -57,7 +57,7 @@ func makeCudaAdditionTestPod() *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "vector-addition",
|
||||
Image: testCUDAImage,
|
||||
Image: imageutils.GetE2EImage(imageutils.CudaVectorAdd),
|
||||
Resources: v1.ResourceRequirements{
|
||||
Limits: v1.ResourceList{
|
||||
v1.ResourceNvidiaGPU: *resource.NewQuantity(1, resource.DecimalSI),
|
||||
|
|
|
@ -31,6 +31,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = SIGDescribe("PodPreset", func() {
|
||||
|
@ -91,7 +92,7 @@ var _ = SIGDescribe("PodPreset", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -196,7 +197,7 @@ var _ = SIGDescribe("PodPreset", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "nginx",
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Env: []v1.EnvVar{{Name: "abc", Value: "value2"}, {Name: "ABC", Value: "value"}},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
@ -105,7 +106,7 @@ var _ = SIGDescribe("EmptyDir wrapper volumes", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-test",
|
||||
Image: "gcr.io/google_containers/test-webserver:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: volumeName,
|
||||
|
@ -187,7 +188,7 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "git-repo",
|
||||
Image: "gcr.io/google_containers/fakegitserver:0.1",
|
||||
Image: imageutils.GetE2EImage(imageutils.Fakegitserver),
|
||||
ImagePullPolicy: "IfNotPresent",
|
||||
Ports: []v1.ContainerPort{
|
||||
{ContainerPort: int32(containerPort)},
|
||||
|
@ -350,7 +351,7 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []v1.Volume, volume
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "test-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sleep", "10000"},
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{
|
||||
|
|
|
@ -38,6 +38,7 @@ import (
|
|||
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -601,7 +602,7 @@ func testPDPod(diskNames []string, targetNode types.NodeName, readOnly bool, num
|
|||
containers[i].Name = fmt.Sprintf("mycontainer%v", i+1)
|
||||
}
|
||||
|
||||
containers[i].Image = "gcr.io/google_containers/busybox:1.24"
|
||||
containers[i].Image = imageutils.GetBusyBoxImage()
|
||||
|
||||
containers[i].Command = []string{"sleep", "6000"}
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ import (
|
|||
storageutil "k8s.io/kubernetes/pkg/apis/storage/v1/util"
|
||||
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
type storageClassTest struct {
|
||||
|
@ -720,7 +721,7 @@ func runInPodWithVolume(c clientset.Interface, ns, claimName, command string) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "volume-tester",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"/bin/sh"},
|
||||
Args: []string{"-c", command},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -36,6 +36,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vclib"
|
||||
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// Sanity check for vSphere testing. Verify the persistent disk attached to the node.
|
||||
|
@ -244,7 +245,7 @@ func getVSpherePodSpecWithClaim(claimName string, nodeSelectorKV map[string]stri
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "volume-tester",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"/bin/sh"},
|
||||
Args: []string{"-c", command},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
@ -309,7 +310,7 @@ func getVSpherePodSpecWithVolumePaths(volumePaths []string, keyValuelabel map[st
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "vsphere-e2e-container-" + string(uuid.NewUUID()),
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: commands,
|
||||
VolumeMounts: volumeMounts,
|
||||
},
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"k8s.io/kubernetes/test/e2e/upgrades"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// TODO: Test that the deployment stays available during master (and maybe
|
||||
|
@ -64,7 +65,7 @@ var _ upgrades.Skippable = DeploymentUpgradeTest{}
|
|||
func (t *DeploymentUpgradeTest) Setup(f *framework.Framework) {
|
||||
deploymentName := "deployment-hash-test"
|
||||
c := f.ClientSet
|
||||
nginxImage := "gcr.io/google_containers/nginx-slim:0.8"
|
||||
nginxImage := imageutils.GetE2EImage(imageutils.NginxSlim)
|
||||
|
||||
ns := f.Namespace.Name
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
|
@ -103,7 +104,7 @@ func (t *ConfigMapUpgradeTest) testPod(f *framework.Framework) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "configmap-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: imageutils.GetE2EImage(imageutils.Mounttest),
|
||||
Args: []string{
|
||||
fmt.Sprintf("--file_content=%s/data", volumeMountPath),
|
||||
fmt.Sprintf("--file_mode=%s/data", volumeMountPath),
|
||||
|
@ -117,7 +118,7 @@ func (t *ConfigMapUpgradeTest) testPod(f *framework.Framework) {
|
|||
},
|
||||
{
|
||||
Name: "configmap-env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
)
|
||||
|
@ -99,7 +100,7 @@ func (t *SecretUpgradeTest) testPod(f *framework.Framework) {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "secret-volume-test",
|
||||
Image: "gcr.io/google_containers/mounttest:0.8",
|
||||
Image: imageutils.GetE2EImage(imageutils.Mounttest),
|
||||
Args: []string{
|
||||
fmt.Sprintf("--file_content=%s/data", volumeMountPath),
|
||||
fmt.Sprintf("--file_mode=%s/data", volumeMountPath),
|
||||
|
@ -113,7 +114,7 @@ func (t *SecretUpgradeTest) testPod(f *framework.Framework) {
|
|||
},
|
||||
{
|
||||
Name: "secret-env-test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sh", "-c", "env"},
|
||||
Env: []v1.EnvVar{
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/kubelet/sysctl"
|
||||
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// SecretUpgradeTest tests that a pod with sysctls runs before and after an upgrade. During
|
||||
|
@ -131,7 +132,7 @@ func sysctlTestPod(name string, sysctls map[string]string) *v1.Pod {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "test-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: append([]string{"/bin/sysctl"}, keys...),
|
||||
},
|
||||
},
|
||||
|
|
|
@ -29,6 +29,7 @@ import (
|
|||
fedutil "k8s.io/kubernetes/federation/pkg/federation-controller/util"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
fedframework "k8s.io/kubernetes/test/e2e_federation/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -279,7 +280,7 @@ func newJobForFed(namespace string, name string, completions int32, parallelism
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "sleep",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"sleep", "1"},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -36,6 +36,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -402,7 +403,7 @@ func discoverService(f *fedframework.Framework, name string, exists bool, podNam
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "federated-service-discovery-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: command,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -182,7 +182,7 @@ func createPodWithAppArmor(f *framework.Framework, profile string) *v1.Pod {
|
|||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{{
|
||||
Name: "test",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"touch", "foo"},
|
||||
}},
|
||||
RestartPolicy: v1.RestartPolicyNever,
|
||||
|
|
|
@ -35,6 +35,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
func getOOMScoreForPid(pid int) (int, error) {
|
||||
|
@ -168,7 +169,7 @@ var _ = framework.KubeDescribe("Container Manager Misc [Serial]", func() {
|
|||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/nginx-slim:0.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
Name: podName,
|
||||
Resources: v1.ResourceRequirements{
|
||||
Limits: v1.ResourceList{
|
||||
|
@ -209,7 +210,7 @@ var _ = framework.KubeDescribe("Container Manager Misc [Serial]", func() {
|
|||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/test-webserver:e2e",
|
||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
||||
Name: podName,
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{
|
||||
|
|
|
@ -78,7 +78,7 @@ var _ = framework.KubeDescribe("Kubelet Eviction Manager [Serial] [Disruptive]",
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: busyPodName,
|
||||
// Filling the disk
|
||||
Command: []string{"sh", "-c",
|
||||
|
|
|
@ -24,6 +24,7 @@ import (
|
|||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -54,12 +55,12 @@ var _ = framework.KubeDescribe("Docker features [Feature:Docker]", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "test-container-1",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"/bin/top"},
|
||||
},
|
||||
{
|
||||
Name: "test-container-2",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: imageutils.GetBusyBoxImage(),
|
||||
Command: []string{"/bin/sleep"},
|
||||
Args: []string{"10000"},
|
||||
},
|
||||
|
|
|
@ -278,7 +278,7 @@ func getPods(specs []*testPodSpec) (pods []*v1.Pod) {
|
|||
containers := []v1.Container{}
|
||||
for i := 0; i < spec.numContainers; i++ {
|
||||
containers = append(containers, v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: spec.getContainerName(i),
|
||||
Command: getRestartingContainerCommand("/test-empty-dir-mnt", i, spec.restartCount, ""),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -167,7 +167,7 @@ func makePod(gpus int64, name string) *v1.Pod {
|
|||
RestartPolicy: v1.RestartPolicyAlways,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: name,
|
||||
Command: []string{"sh", "-c", gpuverificationCmd},
|
||||
Resources: resources,
|
||||
|
|
|
@ -31,6 +31,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/kubelet/remote"
|
||||
commontest "k8s.io/kubernetes/test/e2e/common"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -47,12 +48,12 @@ const (
|
|||
var NodeImageWhiteList = sets.NewString(
|
||||
"google/cadvisor:latest",
|
||||
"gcr.io/google-containers/stress:v1",
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
"gcr.io/google_containers/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff",
|
||||
"gcr.io/google_containers/node-problem-detector:v0.4.1",
|
||||
"gcr.io/google_containers/nginx-slim:0.7",
|
||||
"gcr.io/google_containers/serve_hostname:v1.4",
|
||||
"gcr.io/google_containers/netexec:1.7",
|
||||
imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
imageutils.GetE2EImage(imageutils.ServeHostname),
|
||||
imageutils.GetE2EImage(imageutils.Netexec),
|
||||
"gcr.io/google_containers/nonewprivs:1.2",
|
||||
framework.GetPauseImageNameForHostArch(),
|
||||
)
|
||||
|
|
|
@ -56,7 +56,7 @@ var _ = framework.KubeDescribe("InodeEviction [Slow] [Serial] [Disruptive] [Flak
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-inode-hog-container",
|
||||
Command: getInodeConsumingCommand(""),
|
||||
},
|
||||
|
@ -72,7 +72,7 @@ var _ = framework.KubeDescribe("InodeEviction [Slow] [Serial] [Disruptive] [Flak
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "volume-inode-hog-container",
|
||||
Command: getInodeConsumingCommand(volumeMountPath),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
@ -329,7 +329,7 @@ func getInnocentPod() *v1.Pod {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "innocent-container",
|
||||
Command: []string{
|
||||
"sh",
|
||||
|
|
|
@ -49,7 +49,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: podName,
|
||||
Command: []string{"sh", "-c", "echo 'Hello World' ; sleep 240"},
|
||||
},
|
||||
|
@ -83,7 +83,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: podName,
|
||||
Command: []string{"/bin/false"},
|
||||
},
|
||||
|
@ -130,7 +130,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: podName,
|
||||
Command: []string{"/bin/sh", "-c", "cat /etc/hosts; sleep 6000"},
|
||||
},
|
||||
|
@ -175,7 +175,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: podName,
|
||||
Command: []string{"/bin/sh", "-c", "echo test > /file; sleep 240"},
|
||||
SecurityContext: &v1.SecurityContext{
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
@ -46,7 +47,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "pod-handle-http-request",
|
||||
Image: "gcr.io/google_containers/netexec:1.7",
|
||||
Image: imageutils.GetE2EImage(imageutils.Netexec),
|
||||
Ports: []v1.ContainerPort{
|
||||
{
|
||||
ContainerPort: 8080,
|
||||
|
@ -91,7 +92,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
|
|||
},
|
||||
},
|
||||
}
|
||||
podWithHook := getPodWithHook("pod-with-poststart-exec-hook", "gcr.io/google_containers/hostexec:1.2", lifecycle)
|
||||
podWithHook := getPodWithHook("pod-with-poststart-exec-hook", imageutils.GetE2EImage(imageutils.Hostexec), lifecycle)
|
||||
testPodWithHook(podWithHook)
|
||||
})
|
||||
It("should execute prestop exec hook properly [Conformance]", func() {
|
||||
|
@ -102,7 +103,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
|
|||
},
|
||||
},
|
||||
}
|
||||
podWithHook := getPodWithHook("pod-with-prestop-exec-hook", "gcr.io/google_containers/hostexec:1.2", lifecycle)
|
||||
podWithHook := getPodWithHook("pod-with-prestop-exec-hook", imageutils.GetE2EImage(imageutils.Hostexec), lifecycle)
|
||||
testPodWithHook(podWithHook)
|
||||
})
|
||||
It("should execute poststart http hook properly [Conformance]", func() {
|
||||
|
|
|
@ -62,7 +62,7 @@ var _ = framework.KubeDescribe("LocalStorageAllocatableEviction [Slow] [Serial]
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-disk-hog-pod",
|
||||
Command: []string{"sh", "-c", command},
|
||||
},
|
||||
|
@ -79,7 +79,7 @@ var _ = framework.KubeDescribe("LocalStorageAllocatableEviction [Slow] [Serial]
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "idle-pod",
|
||||
Command: []string{"sh", "-c",
|
||||
fmt.Sprintf("while true; do sleep 5; done")},
|
||||
|
|
|
@ -55,7 +55,7 @@ var _ = framework.KubeDescribe("LocalStorageCapacityIsolationEviction [Slow] [Se
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-emptydir-hog-pod",
|
||||
Command: []string{
|
||||
"sh",
|
||||
|
@ -91,7 +91,7 @@ var _ = framework.KubeDescribe("LocalStorageCapacityIsolationEviction [Slow] [Se
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-emptydir-memory-pod",
|
||||
Command: []string{
|
||||
"sh",
|
||||
|
@ -128,7 +128,7 @@ var _ = framework.KubeDescribe("LocalStorageCapacityIsolationEviction [Slow] [Se
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-emptydir-hog-pod",
|
||||
Command: []string{
|
||||
"sh",
|
||||
|
@ -164,7 +164,7 @@ var _ = framework.KubeDescribe("LocalStorageCapacityIsolationEviction [Slow] [Se
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container-hog-pod",
|
||||
Command: []string{
|
||||
"sh",
|
||||
|
|
|
@ -55,7 +55,7 @@ var _ = framework.KubeDescribe("ContainerLogPath", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: logContName,
|
||||
Command: []string{"sh", "-c", "echo " + logString},
|
||||
},
|
||||
|
@ -86,7 +86,7 @@ var _ = framework.KubeDescribe("ContainerLogPath", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: checkContName,
|
||||
// If we find expected log file and contains right content, exit 0
|
||||
// else, keep checking until test timeout
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = framework.KubeDescribe("MirrorPod", func() {
|
||||
|
@ -48,7 +49,7 @@ var _ = framework.KubeDescribe("MirrorPod", func() {
|
|||
|
||||
By("create the static pod")
|
||||
err := createStaticPod(manifestPath, staticPodName, ns,
|
||||
"gcr.io/google_containers/nginx-slim:0.7", v1.RestartPolicyAlways)
|
||||
imageutils.GetE2EImage(imageutils.NginxSlim), v1.RestartPolicyAlways)
|
||||
Expect(err).ShouldNot(HaveOccurred())
|
||||
|
||||
By("wait for the mirror pod to be running")
|
||||
|
|
|
@ -90,7 +90,7 @@ func makePodToVerifyCgroups(cgroupNames []cm.CgroupName) *v1.Pod {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container" + string(uuid.NewUUID()),
|
||||
Command: []string{"sh", "-c", command},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
@ -128,7 +128,7 @@ func makePodToVerifyCgroupRemoved(cgroupName cm.CgroupName) *v1.Pod {
|
|||
RestartPolicy: v1.RestartPolicyOnFailure,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container" + string(uuid.NewUUID()),
|
||||
Command: []string{"sh", "-c", "for i in `seq 1 10`; do if [ ! -d /tmp/memory/" + cgroupFsName + " ] && [ ! -d /tmp/cpu/" + cgroupFsName + " ]; then exit 0; else sleep 10; fi; done; exit 1"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
|
@ -46,7 +46,7 @@ var _ = framework.KubeDescribe("Container Runtime Conformance Test", func() {
|
|||
restartCountVolumeName := "restart-count"
|
||||
restartCountVolumePath := "/restart-count"
|
||||
testContainer := v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
MountPath: restartCountVolumePath,
|
||||
|
@ -140,7 +140,7 @@ while true; do sleep 1; done
|
|||
{
|
||||
name: "if TerminationMessagePath is set [Conformance]",
|
||||
container: v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c"},
|
||||
Args: []string{"/bin/echo -n DONE > /dev/termination-log"},
|
||||
TerminationMessagePath: "/dev/termination-log",
|
||||
|
@ -155,7 +155,7 @@ while true; do sleep 1; done
|
|||
{
|
||||
name: "if TerminationMessagePath is set as non-root user and at a non-default path [Conformance]",
|
||||
container: v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c"},
|
||||
Args: []string{"/bin/echo -n DONE > /dev/termination-custom-log"},
|
||||
TerminationMessagePath: "/dev/termination-custom-log",
|
||||
|
@ -170,7 +170,7 @@ while true; do sleep 1; done
|
|||
{
|
||||
name: "from log output if TerminationMessagePolicy FallbackToLogOnError is set [Conformance]",
|
||||
container: v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c"},
|
||||
Args: []string{"/bin/echo -n DONE; /bin/false"},
|
||||
TerminationMessagePath: "/dev/termination-log",
|
||||
|
@ -183,7 +183,7 @@ while true; do sleep 1; done
|
|||
{
|
||||
name: "as empty when pod succeeds and TerminationMessagePolicy FallbackToLogOnError is set",
|
||||
container: v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c"},
|
||||
Args: []string{"/bin/echo DONE; /bin/true"},
|
||||
TerminationMessagePath: "/dev/termination-log",
|
||||
|
@ -196,7 +196,7 @@ while true; do sleep 1; done
|
|||
{
|
||||
name: "from file when pod succeeds and TerminationMessagePolicy FallbackToLogOnError is set [Conformance]",
|
||||
container: v1.Container{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: []string{"/bin/sh", "-c"},
|
||||
Args: []string{"/bin/echo -n OK > /dev/termination-log; /bin/echo DONE; /bin/true"},
|
||||
TerminationMessagePath: "/dev/termination-log",
|
||||
|
|
|
@ -29,6 +29,7 @@ import (
|
|||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
var _ = framework.KubeDescribe("Security Context", func() {
|
||||
|
@ -59,7 +60,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
}
|
||||
createAndWaitHostPidPod := func(podName string, hostPID bool) {
|
||||
podClient.Create(makeHostPidPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
[]string{"sh", "-c", "pidof nginx || true"},
|
||||
hostPID,
|
||||
))
|
||||
|
@ -71,7 +72,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
BeforeEach(func() {
|
||||
nginxPodName := "nginx-hostpid-" + string(uuid.NewUUID())
|
||||
podClient.CreateSync(makeHostPidPod(nginxPodName,
|
||||
"gcr.io/google_containers/nginx-slim:0.7",
|
||||
imageutils.GetE2EImage(imageutils.NginxSlim),
|
||||
nil,
|
||||
true,
|
||||
))
|
||||
|
@ -139,7 +140,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
}
|
||||
createAndWaitHostIPCPod := func(podName string, hostNetwork bool) {
|
||||
podClient.Create(makeHostIPCPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
[]string{"sh", "-c", "ipcs -m | awk '{print $2}'"},
|
||||
hostNetwork,
|
||||
))
|
||||
|
@ -219,7 +220,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
listListeningPortsCommand := []string{"sh", "-c", "netstat -ln"}
|
||||
createAndWaitHostNetworkPod := func(podName string, hostNetwork bool) {
|
||||
podClient.Create(makeHostNetworkPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
listListeningPortsCommand,
|
||||
hostNetwork,
|
||||
))
|
||||
|
@ -298,7 +299,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
createAndWaitUserPod := func(userid int64) {
|
||||
podName := fmt.Sprintf("busybox-user-%d-%s", userid, uuid.NewUUID())
|
||||
podClient.Create(makeUserPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
[]string{"sh", "-c", fmt.Sprintf("test $(id -u) -eq %d", userid)},
|
||||
userid,
|
||||
))
|
||||
|
@ -339,7 +340,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
createAndWaitUserPod := func(readOnlyRootFilesystem bool) string {
|
||||
podName := fmt.Sprintf("busybox-readonly-%v-%s", readOnlyRootFilesystem, uuid.NewUUID())
|
||||
podClient.Create(makeUserPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
imageutils.GetBusyBoxImage(),
|
||||
[]string{"sh", "-c", "touch checkfile"},
|
||||
readOnlyRootFilesystem,
|
||||
))
|
||||
|
@ -457,7 +458,7 @@ var _ = framework.KubeDescribe("Security Context", func() {
|
|||
createAndWaitUserPod := func(privileged bool) string {
|
||||
podName := fmt.Sprintf("busybox-privileged-%v-%s", privileged, uuid.NewUUID())
|
||||
podClient.Create(makeUserPod(podName,
|
||||
"gcr.io/google_containers/busybox:1.24",
|
||||
busyboxImage,
|
||||
[]string{"sh", "-c", "ip link add dummy0 type dummy || true"},
|
||||
privileged,
|
||||
))
|
||||
|
|
|
@ -279,7 +279,7 @@ func getSummaryTestPods(f *framework.Framework, numRestarts int32, names ...stri
|
|||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "busybox-container",
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Command: getRestartingContainerCommand("/test-empty-dir-mnt", 0, numRestarts, "ping -c 1 google.com; echo 'hello world' >> /test-empty-dir-mnt/file;"),
|
||||
Resources: v1.ResourceRequirements{
|
||||
Limits: v1.ResourceList{
|
||||
|
|
|
@ -45,6 +45,7 @@ import (
|
|||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
)
|
||||
|
||||
// TODO(random-liu): Get this automatically from kubelet flag.
|
||||
|
@ -52,6 +53,7 @@ var kubeletAddress = flag.String("kubelet-address", "http://127.0.0.1:10255", "H
|
|||
|
||||
var startServices = flag.Bool("start-services", true, "If true, start local node services")
|
||||
var stopServices = flag.Bool("stop-services", true, "If true, stop local node services after running tests")
|
||||
var busyboxImage = imageutils.GetBusyBoxImage()
|
||||
|
||||
func getNodeSummary() (*stats.Summary, error) {
|
||||
req, err := http.NewRequest("GET", *kubeletAddress+"/stats/summary", nil)
|
||||
|
|
|
@ -50,7 +50,7 @@ var _ = framework.KubeDescribe("Kubelet Volume Manager", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container" + string(uuid.NewUUID()),
|
||||
Command: []string{"sh", "-c", "echo"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
@ -89,7 +89,7 @@ var _ = framework.KubeDescribe("Kubelet Volume Manager", func() {
|
|||
RestartPolicy: v1.RestartPolicyNever,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Image: "gcr.io/google_containers/busybox:1.24",
|
||||
Image: busyboxImage,
|
||||
Name: "container" + string(uuid.NewUUID()),
|
||||
Command: []string{"sh", "-c", "if [ -d " + volumePath + " ]; then exit 1; fi;"},
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
|
|
Loading…
Reference in New Issue