Commit 79ca1911 authored by Lucas Käldström's avatar Lucas Käldström

Removed all pause image constant strings, now the pause image is chosen by arch.…

Removed all pause image constant strings, now the pause image is chosen by arch. Part of the effort of making e2e arch-agnostic
parent 965e8dce
...@@ -785,7 +785,7 @@ func runSchedulerNoPhantomPodsTest(client *client.Client) { ...@@ -785,7 +785,7 @@ func runSchedulerNoPhantomPodsTest(client *client.Client) {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "c1", Name: "c1",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: e2e.GetPauseImageName(client),
Ports: []api.ContainerPort{ Ports: []api.ContainerPort{
{ContainerPort: 1234, HostPort: 9999}, {ContainerPort: 1234, HostPort: 9999},
}, },
...@@ -795,7 +795,7 @@ func runSchedulerNoPhantomPodsTest(client *client.Client) { ...@@ -795,7 +795,7 @@ func runSchedulerNoPhantomPodsTest(client *client.Client) {
}, },
} }
// Assuming we only have two kublets, the third pod here won't schedule // Assuming we only have two kubelets, the third pod here won't schedule
// if the scheduler doesn't correctly handle the delete for the second // if the scheduler doesn't correctly handle the delete for the second
// pod. // pod.
pod.ObjectMeta.Name = "phantom.foo" pod.ObjectMeta.Name = "phantom.foo"
......
...@@ -39,6 +39,7 @@ const ( ...@@ -39,6 +39,7 @@ const (
defaultRootDir = "/var/lib/kubelet" defaultRootDir = "/var/lib/kubelet"
experimentalFlannelOverlay = false experimentalFlannelOverlay = false
// When these values are updated, also update test/e2e/util.go
defaultPodInfraContainerImageName = "gcr.io/google_containers/pause" defaultPodInfraContainerImageName = "gcr.io/google_containers/pause"
defaultPodInfraContainerImageVersion = "3.0" defaultPodInfraContainerImageVersion = "3.0"
) )
......
...@@ -19,8 +19,11 @@ ...@@ -19,8 +19,11 @@
# `make container` will build a container-- you must supply a tag. # `make container` will build a container-- you must supply a tag.
# `make push` will push the container-- you must supply a tag. # `make push` will push the container-- you must supply a tag.
GOARCH?=$(shell go env GOARCH)
GOOS?=$(shell go env GOOS)
kubectl: kubectl:
KUBE_STATIC_OVERRIDES="kubectl" ../../hack/build-go.sh cmd/kubectl; cp ../../_output/local/bin/linux/amd64/kubectl . KUBE_STATIC_OVERRIDES="kubectl" ../../hack/build-go.sh cmd/kubectl; cp ../../_output/local/bin/$(GOOS)/$(GOARCH)/kubectl .
.tag: kubectl .tag: kubectl
./kubectl version -c | grep -o 'GitVersion:"[^"]*"' | cut -f 2 -d '"' > .tag ./kubectl version -c | grep -o 'GitVersion:"[^"]*"' | cut -f 2 -d '"' > .tag
......
...@@ -32,6 +32,7 @@ import ( ...@@ -32,6 +32,7 @@ import (
"k8s.io/kubernetes/plugin/pkg/scheduler" "k8s.io/kubernetes/plugin/pkg/scheduler"
_ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider" _ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider"
"k8s.io/kubernetes/plugin/pkg/scheduler/factory" "k8s.io/kubernetes/plugin/pkg/scheduler/factory"
e2e "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
) )
...@@ -113,7 +114,7 @@ func makePodSpec() api.PodSpec { ...@@ -113,7 +114,7 @@ func makePodSpec() api.PodSpec {
return api.PodSpec{ return api.PodSpec{
Containers: []api.Container{{ Containers: []api.Container{{
Name: "pause", Name: "pause",
Image: "gcr.io/google_containers/pause:1.0", Image: e2e.GetPauseImageNameForHostArch(),
Ports: []api.ContainerPort{{ContainerPort: 80}}, Ports: []api.ContainerPort{{ContainerPort: 80}},
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
......
...@@ -86,7 +86,7 @@ func CreateHostPortPods(f *framework.Framework, id string, replicas int, expectR ...@@ -86,7 +86,7 @@ func CreateHostPortPods(f *framework.Framework, id string, replicas int, expectR
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: scaleTimeout, Timeout: scaleTimeout,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: replicas, Replicas: replicas,
HostPorts: map[string]int{"port1": 4321}, HostPorts: map[string]int{"port1": 4321},
} }
...@@ -105,7 +105,7 @@ func ReserveCpu(f *framework.Framework, id string, replicas, millicores int) { ...@@ -105,7 +105,7 @@ func ReserveCpu(f *framework.Framework, id string, replicas, millicores int) {
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: scaleTimeout, Timeout: scaleTimeout,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: replicas, Replicas: replicas,
CpuRequest: request, CpuRequest: request,
} }
...@@ -120,7 +120,7 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e ...@@ -120,7 +120,7 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: scaleTimeout, Timeout: scaleTimeout,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: replicas, Replicas: replicas,
MemRequest: request, MemRequest: request,
} }
......
...@@ -209,7 +209,7 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() { ...@@ -209,7 +209,7 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() {
Client: f.Client, Client: f.Client,
Name: rcName, Name: rcName,
Namespace: ns, Namespace: ns,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: numPods, Replicas: numPods,
CreatedPods: &[]*api.Pod{}, CreatedPods: &[]*api.Pod{},
} }
......
...@@ -294,7 +294,7 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -294,7 +294,7 @@ var _ = framework.KubeDescribe("Density", func() {
for i := 0; i < numberOrRCs; i++ { for i := 0; i < numberOrRCs; i++ {
RCName = "density" + strconv.Itoa(totalPods) + "-" + strconv.Itoa(i) + "-" + uuid RCName = "density" + strconv.Itoa(totalPods) + "-" + strconv.Itoa(i) + "-" + uuid
RCConfigs[i] = framework.RCConfig{Client: c, RCConfigs[i] = framework.RCConfig{Client: c,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Name: RCName, Name: RCName,
Namespace: ns, Namespace: ns,
Labels: map[string]string{"type": "densityPod"}, Labels: map[string]string{"type": "densityPod"},
...@@ -522,7 +522,7 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -522,7 +522,7 @@ var _ = framework.KubeDescribe("Density", func() {
} }
for i := 1; i <= nodeCount; i++ { for i := 1; i <= nodeCount; i++ {
name := additionalPodsPrefix + "-" + strconv.Itoa(i) name := additionalPodsPrefix + "-" + strconv.Itoa(i)
go createRunningPodFromRC(&wg, c, name, ns, "gcr.io/google_containers/pause-amd64:3.0", additionalPodsPrefix, cpuRequest, memRequest) go createRunningPodFromRC(&wg, c, name, ns, framework.GetPauseImageName(f.Client), additionalPodsPrefix, cpuRequest, memRequest)
time.Sleep(200 * time.Millisecond) time.Sleep(200 * time.Millisecond)
} }
wg.Wait() wg.Wait()
......
...@@ -44,7 +44,7 @@ var _ = framework.KubeDescribe("Etcd failure [Disruptive]", func() { ...@@ -44,7 +44,7 @@ var _ = framework.KubeDescribe("Etcd failure [Disruptive]", func() {
Client: f.Client, Client: f.Client,
Name: "baz", Name: "baz",
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: 1, Replicas: 1,
})).NotTo(HaveOccurred()) })).NotTo(HaveOccurred())
}) })
......
...@@ -30,6 +30,7 @@ import ( ...@@ -30,6 +30,7 @@ import (
"os/exec" "os/exec"
"path" "path"
"path/filepath" "path/filepath"
goRuntime "runtime"
"sort" "sort"
"strconv" "strconv"
"strings" "strings"
...@@ -128,12 +129,42 @@ const ( ...@@ -128,12 +129,42 @@ const (
// How long claims have to become dynamically provisioned // How long claims have to become dynamically provisioned
ClaimProvisionTimeout = 5 * time.Minute ClaimProvisionTimeout = 5 * time.Minute
// When these values are updated, also update cmd/kubelet/app/options/options.go
currentPodInfraContainerImageName = "gcr.io/google_containers/pause"
currentPodInfraContainerImageVersion = "3.0"
) )
// Label allocated to the image puller static pod that runs on each node // Label allocated to the image puller static pod that runs on each node
// before e2es. // before e2es.
var ImagePullerLabels = map[string]string{"name": "e2e-image-puller"} var ImagePullerLabels = map[string]string{"name": "e2e-image-puller"}
// GetServerArchitecture fetches the architecture of the target cluster.
func GetServerArchitecture(c *client.Client) string {
arch := ""
sVer, err := c.Discovery().ServerVersion()
if err != nil || sVer.Platform == "" {
// If we failed to get the server version for some reason, default to amd64.
arch = "amd64"
} else {
// Split the platform string into OS and Arch separately.
// The platform string may for example be "linux/amd64", "linux/arm" or "windows/amd64".
osArchArray := strings.Split(sVer.Platform, "/")
arch = osArchArray[1]
}
return arch
}
// GetPauseImageName fetches the architecture of the target cluster and chooses the pause image to use.
func GetPauseImageName(c *client.Client) string {
return currentPodInfraContainerImageName + "-" + GetServerArchitecture(c) + ":" + currentPodInfraContainerImageVersion
}
// GetPauseImageNameForHostArch() fetches the pause image for the same architecture the machine is running on.
func GetPauseImageNameForHostArch() string {
return currentPodInfraContainerImageName + "-" + goRuntime.GOARCH + ":" + currentPodInfraContainerImageVersion
}
// SubResource proxy should have been functional in v1.0.0, but SubResource // SubResource proxy should have been functional in v1.0.0, but SubResource
// proxy via tunneling is known to be broken in v1.0. See // proxy via tunneling is known to be broken in v1.0. See
// https://github.com/kubernetes/kubernetes/pull/15224#issuecomment-146769463 // https://github.com/kubernetes/kubernetes/pull/15224#issuecomment-146769463
......
...@@ -1429,37 +1429,6 @@ func streamingUpload(file *os.File, fileName string, postBodyWriter *multipart.W ...@@ -1429,37 +1429,6 @@ func streamingUpload(file *os.File, fileName string, postBodyWriter *multipart.W
} }
} }
var binPrefixes = []string{
"_output/dockerized/bin",
"_output/local/bin",
"platforms",
}
// findBinary searches through likely paths to find the specified binary. It
// takes the one that has been built most recently. Platform should be
// specified as '<os>/<arch>'. For example: 'linux/amd64'.
func findBinary(binName string, platform string) (string, error) {
var binTime time.Time
var binPath string
for _, pre := range binPrefixes {
tryPath := path.Join(framework.TestContext.RepoRoot, pre, platform, binName)
fi, err := os.Stat(tryPath)
if err != nil {
continue
}
if fi.ModTime().After(binTime) {
binPath = tryPath
binTime = fi.ModTime()
}
}
if len(binPath) > 0 {
return binPath, nil
}
return binPath, fmt.Errorf("Could not find %v for %v", binName, platform)
}
func startLocalProxy() (srv *httptest.Server, logs *bytes.Buffer) { func startLocalProxy() (srv *httptest.Server, logs *bytes.Buffer) {
logs = &bytes.Buffer{} logs = &bytes.Buffer{}
p := goproxy.NewProxyHttpServer() p := goproxy.NewProxyHttpServer()
......
...@@ -128,7 +128,7 @@ var _ = framework.KubeDescribe("kubelet", func() { ...@@ -128,7 +128,7 @@ var _ = framework.KubeDescribe("kubelet", func() {
Client: f.Client, Client: f.Client,
Name: rcName, Name: rcName,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: totalPods, Replicas: totalPods,
})).NotTo(HaveOccurred()) })).NotTo(HaveOccurred())
// Perform a sanity check so that we know all desired pods are // Perform a sanity check so that we know all desired pods are
......
...@@ -69,7 +69,7 @@ func runResourceTrackingTest(f *framework.Framework, podsPerNode int, nodeNames ...@@ -69,7 +69,7 @@ func runResourceTrackingTest(f *framework.Framework, podsPerNode int, nodeNames
Client: f.Client, Client: f.Client,
Name: rcName, Name: rcName,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Replicas: totalPods, Replicas: totalPods,
})).NotTo(HaveOccurred()) })).NotTo(HaveOccurred())
......
...@@ -53,7 +53,7 @@ var _ = framework.KubeDescribe("LimitRange", func() { ...@@ -53,7 +53,7 @@ var _ = framework.KubeDescribe("LimitRange", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Creating a Pod with no resource requirements") By("Creating a Pod with no resource requirements")
pod := newTestPod("pod-no-resources", api.ResourceList{}, api.ResourceList{}) pod := newTestPod(f, "pod-no-resources", api.ResourceList{}, api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -70,7 +70,7 @@ var _ = framework.KubeDescribe("LimitRange", func() { ...@@ -70,7 +70,7 @@ var _ = framework.KubeDescribe("LimitRange", func() {
} }
By("Creating a Pod with partial resource requirements") By("Creating a Pod with partial resource requirements")
pod = newTestPod("pod-partial-resources", getResourceList("", "150Mi"), getResourceList("300m", "")) pod = newTestPod(f, "pod-partial-resources", getResourceList("", "150Mi"), getResourceList("300m", ""))
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -91,12 +91,12 @@ var _ = framework.KubeDescribe("LimitRange", func() { ...@@ -91,12 +91,12 @@ var _ = framework.KubeDescribe("LimitRange", func() {
} }
By("Failing to create a Pod with less than min resources") By("Failing to create a Pod with less than min resources")
pod = newTestPod(podName, getResourceList("10m", "50Mi"), api.ResourceList{}) pod = newTestPod(f, podName, getResourceList("10m", "50Mi"), api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).To(HaveOccurred()) Expect(err).To(HaveOccurred())
By("Failing to create a Pod with more than max resources") By("Failing to create a Pod with more than max resources")
pod = newTestPod(podName, getResourceList("600m", "600Mi"), api.ResourceList{}) pod = newTestPod(f, podName, getResourceList("600m", "600Mi"), api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).To(HaveOccurred()) Expect(err).To(HaveOccurred())
}) })
...@@ -167,7 +167,7 @@ func newLimitRange(name string, limitType api.LimitType, ...@@ -167,7 +167,7 @@ func newLimitRange(name string, limitType api.LimitType,
} }
// newTestPod returns a pod that has the specified requests and limits // newTestPod returns a pod that has the specified requests and limits
func newTestPod(name string, requests api.ResourceList, limits api.ResourceList) *api.Pod { func newTestPod(f *framework.Framework, name string, requests api.ResourceList, limits api.ResourceList) *api.Pod {
return &api.Pod{ return &api.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Name: name, Name: name,
...@@ -175,8 +175,8 @@ func newTestPod(name string, requests api.ResourceList, limits api.ResourceList) ...@@ -175,8 +175,8 @@ func newTestPod(name string, requests api.ResourceList, limits api.ResourceList)
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "nginx", Name: "pause",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Requests: requests, Requests: requests,
Limits: limits, Limits: limits,
......
...@@ -94,7 +94,7 @@ var _ = framework.KubeDescribe("Mesos", func() { ...@@ -94,7 +94,7 @@ var _ = framework.KubeDescribe("Mesos", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "beta.gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
......
...@@ -97,7 +97,7 @@ func ensurePodsAreRemovedWhenNamespaceIsDeleted(f *framework.Framework) { ...@@ -97,7 +97,7 @@ func ensurePodsAreRemovedWhenNamespaceIsDeleted(f *framework.Framework) {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "nginx", Name: "nginx",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
......
...@@ -179,7 +179,7 @@ func createOutOfDiskPod(c *client.Client, ns, name string, milliCPU int64) { ...@@ -179,7 +179,7 @@ func createOutOfDiskPod(c *client.Client, ns, name string, milliCPU int64) {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "pause", Name: "pause",
Image: "beta.gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(c),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Requests: api.ResourceList{ Requests: api.ResourceList{
// Request enough CPU to fit only two pods on a given node. // Request enough CPU to fit only two pods on a given node.
......
...@@ -219,7 +219,7 @@ var _ = framework.KubeDescribe("Pods", func() { ...@@ -219,7 +219,7 @@ var _ = framework.KubeDescribe("Pods", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "test", Name: "test",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -244,7 +244,7 @@ var _ = framework.KubeDescribe("Pods", func() { ...@@ -244,7 +244,7 @@ var _ = framework.KubeDescribe("Pods", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "nginx", Name: "nginx",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI), api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI),
...@@ -754,7 +754,7 @@ var _ = framework.KubeDescribe("Pods", func() { ...@@ -754,7 +754,7 @@ var _ = framework.KubeDescribe("Pods", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "run1", Name: "run1",
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI), api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI),
...@@ -823,7 +823,7 @@ var _ = framework.KubeDescribe("Pods", func() { ...@@ -823,7 +823,7 @@ var _ = framework.KubeDescribe("Pods", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "run1", Name: "run1",
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI), api.ResourceCPU: *resource.NewMilliQuantity(100, resource.DecimalSI),
......
...@@ -328,7 +328,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -328,7 +328,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
requests := api.ResourceList{} requests := api.ResourceList{}
requests[api.ResourceCPU] = resource.MustParse("500m") requests[api.ResourceCPU] = resource.MustParse("500m")
requests[api.ResourceMemory] = resource.MustParse("252Mi") requests[api.ResourceMemory] = resource.MustParse("252Mi")
pod := newTestPodForQuota(podName, requests, api.ResourceList{}) pod := newTestPodForQuota(f, podName, requests, api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
podToUpdate := pod podToUpdate := pod
...@@ -345,7 +345,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -345,7 +345,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
requests = api.ResourceList{} requests = api.ResourceList{}
requests[api.ResourceCPU] = resource.MustParse("600m") requests[api.ResourceCPU] = resource.MustParse("600m")
requests[api.ResourceMemory] = resource.MustParse("100Mi") requests[api.ResourceMemory] = resource.MustParse("100Mi")
pod = newTestPodForQuota("fail-pod", requests, api.ResourceList{}) pod = newTestPodForQuota(f, "fail-pod", requests, api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).To(HaveOccurred()) Expect(err).To(HaveOccurred())
...@@ -509,7 +509,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -509,7 +509,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
limits := api.ResourceList{} limits := api.ResourceList{}
limits[api.ResourceCPU] = resource.MustParse("1") limits[api.ResourceCPU] = resource.MustParse("1")
limits[api.ResourceMemory] = resource.MustParse("400Mi") limits[api.ResourceMemory] = resource.MustParse("400Mi")
pod := newTestPodForQuota(podName, requests, limits) pod := newTestPodForQuota(f, podName, requests, limits)
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -546,7 +546,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -546,7 +546,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
By("Creating a terminating pod") By("Creating a terminating pod")
podName = "terminating-pod" podName = "terminating-pod"
pod = newTestPodForQuota(podName, requests, limits) pod = newTestPodForQuota(f, podName, requests, limits)
activeDeadlineSeconds := int64(3600) activeDeadlineSeconds := int64(3600)
pod.Spec.ActiveDeadlineSeconds = &activeDeadlineSeconds pod.Spec.ActiveDeadlineSeconds = &activeDeadlineSeconds
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
...@@ -604,7 +604,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -604,7 +604,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Creating a best-effort pod") By("Creating a best-effort pod")
pod := newTestPodForQuota(podName, api.ResourceList{}, api.ResourceList{}) pod := newTestPodForQuota(f, podName, api.ResourceList{}, api.ResourceList{})
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -634,7 +634,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() { ...@@ -634,7 +634,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
limits := api.ResourceList{} limits := api.ResourceList{}
limits[api.ResourceCPU] = resource.MustParse("1") limits[api.ResourceCPU] = resource.MustParse("1")
limits[api.ResourceMemory] = resource.MustParse("400Mi") limits[api.ResourceMemory] = resource.MustParse("400Mi")
pod = newTestPodForQuota("burstable-pod", requests, limits) pod = newTestPodForQuota(f, "burstable-pod", requests, limits)
pod, err = f.Client.Pods(f.Namespace.Name).Create(pod) pod, err = f.Client.Pods(f.Namespace.Name).Create(pod)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -697,7 +697,7 @@ func newTestResourceQuota(name string) *api.ResourceQuota { ...@@ -697,7 +697,7 @@ func newTestResourceQuota(name string) *api.ResourceQuota {
} }
// newTestPodForQuota returns a pod that has the specified requests and limits // newTestPodForQuota returns a pod that has the specified requests and limits
func newTestPodForQuota(name string, requests api.ResourceList, limits api.ResourceList) *api.Pod { func newTestPodForQuota(f *framework.Framework, name string, requests api.ResourceList, limits api.ResourceList) *api.Pod {
return &api.Pod{ return &api.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Name: name, Name: name,
...@@ -705,8 +705,8 @@ func newTestPodForQuota(name string, requests api.ResourceList, limits api.Resou ...@@ -705,8 +705,8 @@ func newTestPodForQuota(name string, requests api.ResourceList, limits api.Resou
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "nginx", Name: "pause",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Requests: requests, Requests: requests,
Limits: limits, Limits: limits,
......
...@@ -238,7 +238,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -238,7 +238,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "", Name: "",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -257,7 +257,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -257,7 +257,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -315,7 +315,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -315,7 +315,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "", Name: "",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
"cpu": *resource.NewMilliQuantity(milliCpuPerPod, "DecimalSI"), "cpu": *resource.NewMilliQuantity(milliCpuPerPod, "DecimalSI"),
...@@ -342,7 +342,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -342,7 +342,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Limits: api.ResourceList{ Limits: api.ResourceList{
"cpu": *resource.NewMilliQuantity(milliCpuPerPod, "DecimalSI"), "cpu": *resource.NewMilliQuantity(milliCpuPerPod, "DecimalSI"),
...@@ -382,7 +382,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -382,7 +382,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
NodeSelector: map[string]string{ NodeSelector: map[string]string{
...@@ -425,7 +425,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -425,7 +425,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -461,7 +461,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -461,7 +461,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -499,7 +499,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -499,7 +499,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
NodeSelector: map[string]string{ NodeSelector: map[string]string{
...@@ -563,7 +563,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -563,7 +563,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -598,7 +598,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -598,7 +598,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -654,7 +654,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -654,7 +654,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -692,7 +692,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -692,7 +692,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -771,7 +771,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -771,7 +771,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -822,7 +822,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -822,7 +822,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -857,7 +857,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -857,7 +857,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -910,7 +910,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -910,7 +910,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -949,7 +949,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -949,7 +949,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1002,7 +1002,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1002,7 +1002,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1037,7 +1037,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1037,7 +1037,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1098,7 +1098,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1098,7 +1098,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1137,7 +1137,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1137,7 +1137,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1201,7 +1201,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1201,7 +1201,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: labelPodName, Name: labelPodName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1240,7 +1240,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1240,7 +1240,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause:2.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1304,7 +1304,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1304,7 +1304,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1369,7 +1369,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1369,7 +1369,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: tolerationPodName, Name: tolerationPodName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1426,7 +1426,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1426,7 +1426,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podName, Name: podName,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
...@@ -1481,7 +1481,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() { ...@@ -1481,7 +1481,7 @@ var _ = framework.KubeDescribe("SchedulerPredicates [Serial]", func() {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: podNameNoTolerations, Name: podNameNoTolerations,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
......
...@@ -1138,8 +1138,8 @@ func createPodOrFail(c *client.Client, ns, name string, labels map[string]string ...@@ -1138,8 +1138,8 @@ func createPodOrFail(c *client.Client, ns, name string, labels map[string]string
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "test", Name: "pause",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(c),
Ports: containerPorts, Ports: containerPorts,
// Add a dummy environment variable to work around a docker issue. // Add a dummy environment variable to work around a docker issue.
// https://github.com/docker/docker/issues/14203 // https://github.com/docker/docker/issues/14203
......
...@@ -118,7 +118,7 @@ var _ = framework.KubeDescribe("Service endpoints latency", func() { ...@@ -118,7 +118,7 @@ var _ = framework.KubeDescribe("Service endpoints latency", func() {
func runServiceLatencies(f *framework.Framework, inParallel, total int) (output []time.Duration, err error) { func runServiceLatencies(f *framework.Framework, inParallel, total int) (output []time.Duration, err error) {
cfg := framework.RCConfig{ cfg := framework.RCConfig{
Client: f.Client, Client: f.Client,
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
Name: "svc-latency-rc", Name: "svc-latency-rc",
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Replicas: 1, Replicas: 1,
......
...@@ -88,7 +88,7 @@ func SpreadServiceOrFail(f *framework.Framework, replicaCount int, image string) ...@@ -88,7 +88,7 @@ func SpreadServiceOrFail(f *framework.Framework, replicaCount int, image string)
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "test", Name: "test",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: framework.GetPauseImageName(f.Client),
}, },
}, },
}, },
......
...@@ -21,6 +21,8 @@ import ( ...@@ -21,6 +21,8 @@ import (
"time" "time"
"github.com/golang/glog" "github.com/golang/glog"
"k8s.io/kubernetes/test/e2e/framework"
) )
const ( const (
...@@ -45,7 +47,7 @@ var ImageRegistry = map[int]string{ ...@@ -45,7 +47,7 @@ var ImageRegistry = map[int]string{
hostExecImage: "gcr.io/google_containers/hostexec:1.2", hostExecImage: "gcr.io/google_containers/hostexec:1.2",
netExecImage: "gcr.io/google_containers/netexec:1.4", netExecImage: "gcr.io/google_containers/netexec:1.4",
nginxImage: "gcr.io/google_containers/nginx:1.7.9", nginxImage: "gcr.io/google_containers/nginx:1.7.9",
pauseImage: "gcr.io/google_containers/pause-amd64:3.0", pauseImage: framework.GetPauseImageNameForHostArch(),
} }
// These are used by tests that explicitly test the ability to pull images // These are used by tests that explicitly test the ability to pull images
......
...@@ -35,6 +35,7 @@ import ( ...@@ -35,6 +35,7 @@ import (
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/pkg/version"
"k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/pkg/watch"
e2e "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
) )
...@@ -234,8 +235,8 @@ func TestMultiWatch(t *testing.T) { ...@@ -234,8 +235,8 @@ func TestMultiWatch(t *testing.T) {
}, },
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{{ Containers: []api.Container{{
Name: "nothing", Name: "pause",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: e2e.GetPauseImageName(client),
}}, }},
}, },
}) })
...@@ -341,7 +342,7 @@ func TestMultiWatch(t *testing.T) { ...@@ -341,7 +342,7 @@ func TestMultiWatch(t *testing.T) {
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{{ Containers: []api.Container{{
Name: "nothing", Name: "nothing",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: e2e.GetPauseImageName(client),
}}, }},
}, },
}) })
...@@ -372,7 +373,7 @@ func TestMultiWatch(t *testing.T) { ...@@ -372,7 +373,7 @@ func TestMultiWatch(t *testing.T) {
if err != nil { if err != nil {
panic(fmt.Sprintf("Couldn't get %v: %v", name, err)) panic(fmt.Sprintf("Couldn't get %v: %v", name, err))
} }
pod.Spec.Containers[0].Image = "gcr.io/google_containers/pause-amd64:3.0" pod.Spec.Containers[0].Image = e2e.GetPauseImageName(client)
sentTimes <- timePair{time.Now(), name} sentTimes <- timePair{time.Now(), name}
if _, err := client.Pods(ns).Update(pod); err != nil { if _, err := client.Pods(ns).Update(pod); err != nil {
panic(fmt.Sprintf("Couldn't make %v: %v", name, err)) panic(fmt.Sprintf("Couldn't make %v: %v", name, err))
......
...@@ -42,6 +42,7 @@ import ( ...@@ -42,6 +42,7 @@ import (
_ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider" _ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider"
schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api"
"k8s.io/kubernetes/plugin/pkg/scheduler/factory" "k8s.io/kubernetes/plugin/pkg/scheduler/factory"
e2e "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
) )
...@@ -283,7 +284,7 @@ func DoTestPodScheduling(t *testing.T, restClient *client.Client) { ...@@ -283,7 +284,7 @@ func DoTestPodScheduling(t *testing.T, restClient *client.Client) {
pod := &api.Pod{ pod := &api.Pod{
ObjectMeta: api.ObjectMeta{Name: "extender-test-pod"}, ObjectMeta: api.ObjectMeta{Name: "extender-test-pod"},
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{{Name: "container", Image: "gcr.io/google_containers/pause-amd64:3.0"}}, Containers: []api.Container{{Name: "container", Image: e2e.GetPauseImageName(restClient)}},
}, },
} }
......
...@@ -41,6 +41,7 @@ import ( ...@@ -41,6 +41,7 @@ import (
"k8s.io/kubernetes/plugin/pkg/scheduler" "k8s.io/kubernetes/plugin/pkg/scheduler"
_ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider" _ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider"
"k8s.io/kubernetes/plugin/pkg/scheduler/factory" "k8s.io/kubernetes/plugin/pkg/scheduler/factory"
e2e "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
) )
...@@ -232,7 +233,7 @@ func DoTestUnschedulableNodes(t *testing.T, restClient *client.Client, nodeStore ...@@ -232,7 +233,7 @@ func DoTestUnschedulableNodes(t *testing.T, restClient *client.Client, nodeStore
pod := &api.Pod{ pod := &api.Pod{
ObjectMeta: api.ObjectMeta{Name: "node-scheduling-test-pod"}, ObjectMeta: api.ObjectMeta{Name: "node-scheduling-test-pod"},
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{{Name: "container", Image: "gcr.io/google_containers/pause-amd64:3.0"}}, Containers: []api.Container{{Name: "container", Image: e2e.GetPauseImageName(restClient)}},
}, },
} }
myPod, err := restClient.Pods(api.NamespaceDefault).Create(pod) myPod, err := restClient.Pods(api.NamespaceDefault).Create(pod)
...@@ -339,21 +340,21 @@ func TestMultiScheduler(t *testing.T) { ...@@ -339,21 +340,21 @@ func TestMultiScheduler(t *testing.T) {
restClient.Nodes().Create(node) restClient.Nodes().Create(node)
// 3. create 3 pods for testing // 3. create 3 pods for testing
podWithNoAnnotation := createPod("pod-with-no-annotation", nil) podWithNoAnnotation := createPod(restClient, "pod-with-no-annotation", nil)
testPodNoAnnotation, err := restClient.Pods(api.NamespaceDefault).Create(podWithNoAnnotation) testPodNoAnnotation, err := restClient.Pods(api.NamespaceDefault).Create(podWithNoAnnotation)
if err != nil { if err != nil {
t.Fatalf("Failed to create pod: %v", err) t.Fatalf("Failed to create pod: %v", err)
} }
schedulerAnnotationFitsDefault := map[string]string{"scheduler.alpha.kubernetes.io/name": "default-scheduler"} schedulerAnnotationFitsDefault := map[string]string{"scheduler.alpha.kubernetes.io/name": "default-scheduler"}
podWithAnnotationFitsDefault := createPod("pod-with-annotation-fits-default", schedulerAnnotationFitsDefault) podWithAnnotationFitsDefault := createPod(restClient, "pod-with-annotation-fits-default", schedulerAnnotationFitsDefault)
testPodWithAnnotationFitsDefault, err := restClient.Pods(api.NamespaceDefault).Create(podWithAnnotationFitsDefault) testPodWithAnnotationFitsDefault, err := restClient.Pods(api.NamespaceDefault).Create(podWithAnnotationFitsDefault)
if err != nil { if err != nil {
t.Fatalf("Failed to create pod: %v", err) t.Fatalf("Failed to create pod: %v", err)
} }
schedulerAnnotationFitsFoo := map[string]string{"scheduler.alpha.kubernetes.io/name": "foo-scheduler"} schedulerAnnotationFitsFoo := map[string]string{"scheduler.alpha.kubernetes.io/name": "foo-scheduler"}
podWithAnnotationFitsFoo := createPod("pod-with-annotation-fits-foo", schedulerAnnotationFitsFoo) podWithAnnotationFitsFoo := createPod(restClient, "pod-with-annotation-fits-foo", schedulerAnnotationFitsFoo)
testPodWithAnnotationFitsFoo, err := restClient.Pods(api.NamespaceDefault).Create(podWithAnnotationFitsFoo) testPodWithAnnotationFitsFoo, err := restClient.Pods(api.NamespaceDefault).Create(podWithAnnotationFitsFoo)
if err != nil { if err != nil {
t.Fatalf("Failed to create pod: %v", err) t.Fatalf("Failed to create pod: %v", err)
...@@ -456,11 +457,11 @@ func TestMultiScheduler(t *testing.T) { ...@@ -456,11 +457,11 @@ func TestMultiScheduler(t *testing.T) {
*/ */
} }
func createPod(name string, annotation map[string]string) *api.Pod { func createPod(client *client.Client, name string, annotation map[string]string) *api.Pod {
return &api.Pod{ return &api.Pod{
ObjectMeta: api.ObjectMeta{Name: name, Annotations: annotation}, ObjectMeta: api.ObjectMeta{Name: name, Annotations: annotation},
Spec: api.PodSpec{ Spec: api.PodSpec{
Containers: []api.Container{{Name: "container", Image: "gcr.io/google_containers/pause-amd64:3.0"}}, Containers: []api.Container{{Name: "container", Image: e2e.GetPauseImageName(client)}},
}, },
} }
} }
...@@ -521,7 +522,7 @@ func TestAllocatable(t *testing.T) { ...@@ -521,7 +522,7 @@ func TestAllocatable(t *testing.T) {
Containers: []api.Container{ Containers: []api.Container{
{ {
Name: "container", Name: "container",
Image: "gcr.io/google_containers/pause-amd64:3.0", Image: e2e.GetPauseImageName(restClient),
Resources: api.ResourceRequirements{ Resources: api.ResourceRequirements{
Requests: api.ResourceList{ Requests: api.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(20, resource.DecimalSI), api.ResourceCPU: *resource.NewMilliQuantity(20, resource.DecimalSI),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment