Commit a55c71db authored by Chao Xu's avatar Chao Xu

test/e2e

parent 1044aa45
...@@ -25,8 +25,8 @@ import ( ...@@ -25,8 +25,8 @@ import (
"time" "time"
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
...@@ -205,7 +205,7 @@ spec: ...@@ -205,7 +205,7 @@ spec:
const ( const (
addonTestPollInterval = 3 * time.Second addonTestPollInterval = 3 * time.Second
addonTestPollTimeout = 5 * time.Minute addonTestPollTimeout = 5 * time.Minute
defaultNsName = api.NamespaceDefault defaultNsName = v1.NamespaceDefault
addonNsName = "kube-system" addonNsName = "kube-system"
) )
......
...@@ -21,8 +21,9 @@ import ( ...@@ -21,8 +21,9 @@ import (
"strconv" "strconv"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/intstr"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
...@@ -97,7 +98,7 @@ cpuLimit argument is in millicores, cpuLimit is a maximum amount of cpu that can ...@@ -97,7 +98,7 @@ cpuLimit argument is in millicores, cpuLimit is a maximum amount of cpu that can
func newResourceConsumer(name, kind string, replicas, initCPUTotal, initMemoryTotal, initCustomMetric, consumptionTimeInSeconds, requestSizeInMillicores, func newResourceConsumer(name, kind string, replicas, initCPUTotal, initMemoryTotal, initCustomMetric, consumptionTimeInSeconds, requestSizeInMillicores,
requestSizeInMegabytes int, requestSizeCustomMetric int, cpuLimit, memLimit int64, f *framework.Framework) *ResourceConsumer { requestSizeInMegabytes int, requestSizeCustomMetric int, cpuLimit, memLimit int64, f *framework.Framework) *ResourceConsumer {
runServiceAndWorkloadForResourceConsumer(f.ClientSet, f.Namespace.Name, name, kind, replicas, cpuLimit, memLimit) runServiceAndWorkloadForResourceConsumer(f.ClientSet, f.InternalClientset, f.Namespace.Name, name, kind, replicas, cpuLimit, memLimit)
rc := &ResourceConsumer{ rc := &ResourceConsumer{
name: name, name: name,
controllerName: name + "-ctrl", controllerName: name + "-ctrl",
...@@ -303,20 +304,20 @@ func (rc *ResourceConsumer) CleanUp() { ...@@ -303,20 +304,20 @@ func (rc *ResourceConsumer) CleanUp() {
rc.stopCustomMetric <- 0 rc.stopCustomMetric <- 0
// Wait some time to ensure all child goroutines are finished. // Wait some time to ensure all child goroutines are finished.
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.Namespace.Name, rc.name)) framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, rc.framework.Namespace.Name, rc.name))
framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.name, nil)) framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.name, nil))
framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.Namespace.Name, rc.controllerName)) framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, rc.framework.Namespace.Name, rc.controllerName))
framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.controllerName, nil)) framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.controllerName, nil))
} }
func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, kind string, replicas int, cpuLimitMillis, memLimitMb int64) { func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, internalClient internalclientset.Interface, ns, name, kind string, replicas int, cpuLimitMillis, memLimitMb int64) {
By(fmt.Sprintf("Running consuming RC %s via %s with %v replicas", name, kind, replicas)) By(fmt.Sprintf("Running consuming RC %s via %s with %v replicas", name, kind, replicas))
_, err := c.Core().Services(ns).Create(&api.Service{ _, err := c.Core().Services(ns).Create(&v1.Service{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Ports: []api.ServicePort{{ Ports: []v1.ServicePort{{
Port: port, Port: port,
TargetPort: intstr.FromInt(targetPort), TargetPort: intstr.FromInt(targetPort),
}}, }},
...@@ -330,6 +331,7 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k ...@@ -330,6 +331,7 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k
rcConfig := testutils.RCConfig{ rcConfig := testutils.RCConfig{
Client: c, Client: c,
InternalClient: internalClient,
Image: resourceConsumerImage, Image: resourceConsumerImage,
Name: name, Name: name,
Namespace: ns, Namespace: ns,
...@@ -364,12 +366,12 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k ...@@ -364,12 +366,12 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k
By(fmt.Sprintf("Running controller")) By(fmt.Sprintf("Running controller"))
controllerName := name + "-ctrl" controllerName := name + "-ctrl"
_, err = c.Core().Services(ns).Create(&api.Service{ _, err = c.Core().Services(ns).Create(&v1.Service{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: controllerName, Name: controllerName,
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Ports: []api.ServicePort{{ Ports: []v1.ServicePort{{
Port: port, Port: port,
TargetPort: intstr.FromInt(targetPort), TargetPort: intstr.FromInt(targetPort),
}}, }},
...@@ -381,7 +383,7 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k ...@@ -381,7 +383,7 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name, k
}) })
framework.ExpectNoError(err) framework.ExpectNoError(err)
dnsClusterFirst := api.DNSClusterFirst dnsClusterFirst := v1.DNSClusterFirst
controllerRcConfig := testutils.RCConfig{ controllerRcConfig := testutils.RCConfig{
Client: c, Client: c,
Image: resourceConsumerControllerImage, Image: resourceConsumerControllerImage,
......
...@@ -25,8 +25,10 @@ import ( ...@@ -25,8 +25,10 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" batchinternal "k8s.io/kubernetes/pkg/apis/batch"
batch "k8s.io/kubernetes/pkg/apis/batch/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
...@@ -53,7 +55,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -53,7 +55,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
// Simplest case: all pods succeed promptly // Simplest case: all pods succeed promptly
It("should run a job to completion when tasks succeed", func() { It("should run a job to completion when tasks succeed", func() {
By("Creating a job") By("Creating a job")
job := newTestV1Job("succeed", "all-succeed", api.RestartPolicyNever, parallelism, completions) job := newTestV1Job("succeed", "all-succeed", v1.RestartPolicyNever, parallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -72,7 +74,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -72,7 +74,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
// up to 5 minutes between restarts, making test timeouts // up to 5 minutes between restarts, making test timeouts
// due to successive failures too likely with a reasonable // due to successive failures too likely with a reasonable
// test timeout. // test timeout.
job := newTestV1Job("failOnce", "fail-once-local", api.RestartPolicyOnFailure, parallelism, completions) job := newTestV1Job("failOnce", "fail-once-local", v1.RestartPolicyOnFailure, parallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -90,7 +92,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -90,7 +92,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
// Worst case analysis: 15 failures, each taking 1 minute to // Worst case analysis: 15 failures, each taking 1 minute to
// run due to some slowness, 1 in 2^15 chance of happening, // run due to some slowness, 1 in 2^15 chance of happening,
// causing test flake. Should be very rare. // causing test flake. Should be very rare.
job := newTestV1Job("randomlySucceedOrFail", "rand-non-local", api.RestartPolicyNever, parallelism, completions) job := newTestV1Job("randomlySucceedOrFail", "rand-non-local", v1.RestartPolicyNever, parallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -101,7 +103,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -101,7 +103,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
It("should keep restarting failed pods", func() { It("should keep restarting failed pods", func() {
By("Creating a job") By("Creating a job")
job := newTestV1Job("fail", "all-fail", api.RestartPolicyNever, parallelism, completions) job := newTestV1Job("fail", "all-fail", v1.RestartPolicyNever, parallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -119,7 +121,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -119,7 +121,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
startParallelism := int32(1) startParallelism := int32(1)
endParallelism := int32(2) endParallelism := int32(2)
By("Creating a job") By("Creating a job")
job := newTestV1Job("notTerminate", "scale-up", api.RestartPolicyNever, startParallelism, completions) job := newTestV1Job("notTerminate", "scale-up", v1.RestartPolicyNever, startParallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -128,7 +130,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -128,7 +130,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("scale job up") By("scale job up")
scaler, err := kubectl.ScalerFor(batch.Kind("Job"), f.ClientSet) scaler, err := kubectl.ScalerFor(batchinternal.Kind("Job"), f.InternalClientset)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
waitForScale := kubectl.NewRetryParams(5*time.Second, 1*time.Minute) waitForScale := kubectl.NewRetryParams(5*time.Second, 1*time.Minute)
waitForReplicas := kubectl.NewRetryParams(5*time.Second, 5*time.Minute) waitForReplicas := kubectl.NewRetryParams(5*time.Second, 5*time.Minute)
...@@ -144,7 +146,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -144,7 +146,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
startParallelism := int32(2) startParallelism := int32(2)
endParallelism := int32(1) endParallelism := int32(1)
By("Creating a job") By("Creating a job")
job := newTestV1Job("notTerminate", "scale-down", api.RestartPolicyNever, startParallelism, completions) job := newTestV1Job("notTerminate", "scale-down", v1.RestartPolicyNever, startParallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -153,7 +155,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -153,7 +155,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("scale job down") By("scale job down")
scaler, err := kubectl.ScalerFor(batch.Kind("Job"), f.ClientSet) scaler, err := kubectl.ScalerFor(batchinternal.Kind("Job"), f.InternalClientset)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
waitForScale := kubectl.NewRetryParams(5*time.Second, 1*time.Minute) waitForScale := kubectl.NewRetryParams(5*time.Second, 1*time.Minute)
waitForReplicas := kubectl.NewRetryParams(5*time.Second, 5*time.Minute) waitForReplicas := kubectl.NewRetryParams(5*time.Second, 5*time.Minute)
...@@ -167,7 +169,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -167,7 +169,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
It("should delete a job", func() { It("should delete a job", func() {
By("Creating a job") By("Creating a job")
job := newTestV1Job("notTerminate", "foo", api.RestartPolicyNever, parallelism, completions) job := newTestV1Job("notTerminate", "foo", v1.RestartPolicyNever, parallelism, completions)
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -176,7 +178,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -176,7 +178,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("delete a job") By("delete a job")
reaper, err := kubectl.ReaperFor(batch.Kind("Job"), f.ClientSet) reaper, err := kubectl.ReaperFor(batchinternal.Kind("Job"), f.InternalClientset)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
timeout := 1 * time.Minute timeout := 1 * time.Minute
err = reaper.Stop(f.Namespace.Name, job.Name, timeout, api.NewDeleteOptions(0)) err = reaper.Stop(f.Namespace.Name, job.Name, timeout, api.NewDeleteOptions(0))
...@@ -190,7 +192,7 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -190,7 +192,7 @@ var _ = framework.KubeDescribe("V1Job", func() {
It("should fail a job", func() { It("should fail a job", func() {
By("Creating a job") By("Creating a job")
job := newTestV1Job("notTerminate", "foo", api.RestartPolicyNever, parallelism, completions) job := newTestV1Job("notTerminate", "foo", v1.RestartPolicyNever, parallelism, completions)
activeDeadlineSeconds := int64(10) activeDeadlineSeconds := int64(10)
job.Spec.ActiveDeadlineSeconds = &activeDeadlineSeconds job.Spec.ActiveDeadlineSeconds = &activeDeadlineSeconds
job, err := createV1Job(f.ClientSet, f.Namespace.Name, job) job, err := createV1Job(f.ClientSet, f.Namespace.Name, job)
...@@ -215,34 +217,34 @@ var _ = framework.KubeDescribe("V1Job", func() { ...@@ -215,34 +217,34 @@ var _ = framework.KubeDescribe("V1Job", func() {
}) })
// newTestV1Job returns a job which does one of several testing behaviors. // newTestV1Job returns a job which does one of several testing behaviors.
func newTestV1Job(behavior, name string, rPol api.RestartPolicy, parallelism, completions int32) *batch.Job { func newTestV1Job(behavior, name string, rPol v1.RestartPolicy, parallelism, completions int32) *batch.Job {
job := &batch.Job{ job := &batch.Job{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
}, },
Spec: batch.JobSpec{ Spec: batch.JobSpec{
Parallelism: &parallelism, Parallelism: &parallelism,
Completions: &completions, Completions: &completions,
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: map[string]string{"somekey": "somevalue"}, Labels: map[string]string{"somekey": "somevalue"},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
RestartPolicy: rPol, RestartPolicy: rPol,
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: "data", Name: "data",
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
EmptyDir: &api.EmptyDirVolumeSource{}, EmptyDir: &v1.EmptyDirVolumeSource{},
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "c", Name: "c",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{}, Command: []string{},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
MountPath: "/data", MountPath: "/data",
Name: "data", Name: "data",
...@@ -289,21 +291,21 @@ func updateV1Job(c clientset.Interface, ns string, job *batch.Job) (*batch.Job, ...@@ -289,21 +291,21 @@ func updateV1Job(c clientset.Interface, ns string, job *batch.Job) (*batch.Job,
} }
func deleteV1Job(c clientset.Interface, ns, name string) error { func deleteV1Job(c clientset.Interface, ns, name string) error {
return c.Batch().Jobs(ns).Delete(name, api.NewDeleteOptions(0)) return c.Batch().Jobs(ns).Delete(name, v1.NewDeleteOptions(0))
} }
// Wait for all pods to become Running. Only use when pods will run for a long time, or it will be racy. // Wait for all pods to become Running. Only use when pods will run for a long time, or it will be racy.
func waitForAllPodsRunningV1(c clientset.Interface, ns, jobName string, parallelism int32) error { func waitForAllPodsRunningV1(c clientset.Interface, ns, jobName string, parallelism int32) error {
label := labels.SelectorFromSet(labels.Set(map[string]string{v1JobSelectorKey: jobName})) label := labels.SelectorFromSet(labels.Set(map[string]string{v1JobSelectorKey: jobName}))
return wait.Poll(framework.Poll, v1JobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, v1JobTimeout, func() (bool, error) {
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
pods, err := c.Core().Pods(ns).List(options) pods, err := c.Core().Pods(ns).List(options)
if err != nil { if err != nil {
return false, err return false, err
} }
count := int32(0) count := int32(0)
for _, p := range pods.Items { for _, p := range pods.Items {
if p.Status.Phase == api.PodRunning { if p.Status.Phase == v1.PodRunning {
count++ count++
} }
} }
...@@ -330,7 +332,7 @@ func waitForV1JobFail(c clientset.Interface, ns, jobName string, timeout time.Du ...@@ -330,7 +332,7 @@ func waitForV1JobFail(c clientset.Interface, ns, jobName string, timeout time.Du
return false, err return false, err
} }
for _, c := range curr.Status.Conditions { for _, c := range curr.Status.Conditions {
if c.Type == batch.JobFailed && c.Status == api.ConditionTrue { if c.Type == batch.JobFailed && c.Status == v1.ConditionTrue {
return true, nil return true, nil
} }
} }
......
...@@ -20,8 +20,8 @@ import ( ...@@ -20,8 +20,8 @@ import (
"fmt" "fmt"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
...@@ -39,7 +39,7 @@ var _ = framework.KubeDescribe("Cadvisor", func() { ...@@ -39,7 +39,7 @@ var _ = framework.KubeDescribe("Cadvisor", func() {
func CheckCadvisorHealthOnAllNodes(c clientset.Interface, timeout time.Duration) { func CheckCadvisorHealthOnAllNodes(c clientset.Interface, timeout time.Duration) {
// It should be OK to list unschedulable Nodes here. // It should be OK to list unschedulable Nodes here.
By("getting list of nodes") By("getting list of nodes")
nodeList, err := c.Core().Nodes().List(api.ListOptions{}) nodeList, err := c.Core().Nodes().List(v1.ListOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
var errors []error var errors []error
......
...@@ -24,6 +24,7 @@ import ( ...@@ -24,6 +24,7 @@ import (
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -52,7 +53,7 @@ var _ = framework.KubeDescribe("Cluster level logging using Elasticsearch [Featu ...@@ -52,7 +53,7 @@ var _ = framework.KubeDescribe("Cluster level logging using Elasticsearch [Featu
By("Running synthetic logger") By("Running synthetic logger")
createSynthLogger(f, expectedLinesCount) createSynthLogger(f, expectedLinesCount)
defer f.PodClient().Delete(synthLoggerPodName, &api.DeleteOptions{}) defer f.PodClient().Delete(synthLoggerPodName, &v1.DeleteOptions{})
err = framework.WaitForPodSuccessInNamespace(f.ClientSet, synthLoggerPodName, f.Namespace.Name) err = framework.WaitForPodSuccessInNamespace(f.ClientSet, synthLoggerPodName, f.Namespace.Name)
framework.ExpectNoError(err, fmt.Sprintf("Should've successfully waited for pod %s to succeed", synthLoggerPodName)) framework.ExpectNoError(err, fmt.Sprintf("Should've successfully waited for pod %s to succeed", synthLoggerPodName))
...@@ -101,7 +102,7 @@ func checkElasticsearchReadiness(f *framework.Framework) error { ...@@ -101,7 +102,7 @@ func checkElasticsearchReadiness(f *framework.Framework) error {
// Wait for the Elasticsearch pods to enter the running state. // Wait for the Elasticsearch pods to enter the running state.
By("Checking to make sure the Elasticsearch pods are running") By("Checking to make sure the Elasticsearch pods are running")
label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "elasticsearch-logging"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "elasticsearch-logging"}))
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
pods, err := f.ClientSet.Core().Pods(api.NamespaceSystem).List(options) pods, err := f.ClientSet.Core().Pods(api.NamespaceSystem).List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
for _, pod := range pods.Items { for _, pod := range pods.Items {
......
...@@ -23,7 +23,7 @@ import ( ...@@ -23,7 +23,7 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/json" "k8s.io/kubernetes/pkg/util/json"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -42,7 +42,7 @@ var _ = framework.KubeDescribe("Cluster level logging using GCL", func() { ...@@ -42,7 +42,7 @@ var _ = framework.KubeDescribe("Cluster level logging using GCL", func() {
It("should check that logs from containers are ingested in GCL", func() { It("should check that logs from containers are ingested in GCL", func() {
By("Running synthetic logger") By("Running synthetic logger")
createSynthLogger(f, expectedLinesCount) createSynthLogger(f, expectedLinesCount)
defer f.PodClient().Delete(synthLoggerPodName, &api.DeleteOptions{}) defer f.PodClient().Delete(synthLoggerPodName, &v1.DeleteOptions{})
err := framework.WaitForPodSuccessInNamespace(f.ClientSet, synthLoggerPodName, f.Namespace.Name) err := framework.WaitForPodSuccessInNamespace(f.ClientSet, synthLoggerPodName, f.Namespace.Name)
framework.ExpectNoError(err, fmt.Sprintf("Should've successfully waited for pod %s to succeed", synthLoggerPodName)) framework.ExpectNoError(err, fmt.Sprintf("Should've successfully waited for pod %s to succeed", synthLoggerPodName))
......
...@@ -22,6 +22,7 @@ import ( ...@@ -22,6 +22,7 @@ import (
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
) )
...@@ -41,14 +42,14 @@ const ( ...@@ -41,14 +42,14 @@ const (
) )
func createSynthLogger(f *framework.Framework, linesCount int) { func createSynthLogger(f *framework.Framework, linesCount int) {
f.PodClient().Create(&api.Pod{ f.PodClient().Create(&v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: synthLoggerPodName, Name: synthLoggerPodName,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
RestartPolicy: api.RestartPolicyOnFailure, RestartPolicy: v1.RestartPolicyOnFailure,
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: synthLoggerPodName, Name: synthLoggerPodName,
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
...@@ -72,7 +73,7 @@ func reportLogsFromFluentdPod(f *framework.Framework) error { ...@@ -72,7 +73,7 @@ func reportLogsFromFluentdPod(f *framework.Framework) error {
} }
label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "fluentd-logging"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "fluentd-logging"}))
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
fluentdPods, err := f.ClientSet.Core().Pods(api.NamespaceSystem).List(options) fluentdPods, err := f.ClientSet.Core().Pods(api.NamespaceSystem).List(options)
for _, fluentdPod := range fluentdPods.Items { for _, fluentdPod := range fluentdPods.Items {
......
...@@ -26,8 +26,8 @@ import ( ...@@ -26,8 +26,8 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -63,8 +63,8 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -63,8 +63,8 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet) nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet)
nodeCount = len(nodes.Items) nodeCount = len(nodes.Items)
Expect(nodeCount).NotTo(BeZero()) Expect(nodeCount).NotTo(BeZero())
cpu := nodes.Items[0].Status.Capacity[api.ResourceCPU] cpu := nodes.Items[0].Status.Capacity[v1.ResourceCPU]
mem := nodes.Items[0].Status.Capacity[api.ResourceMemory] mem := nodes.Items[0].Status.Capacity[v1.ResourceMemory]
coresPerNode = int((&cpu).MilliValue() / 1000) coresPerNode = int((&cpu).MilliValue() / 1000)
memCapacityMb = int((&mem).Value() / 1024 / 1024) memCapacityMb = int((&mem).Value() / 1024 / 1024)
...@@ -98,7 +98,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -98,7 +98,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
It("shouldn't increase cluster size if pending pod is too large [Feature:ClusterSizeAutoscalingScaleUp]", func() { It("shouldn't increase cluster size if pending pod is too large [Feature:ClusterSizeAutoscalingScaleUp]", func() {
By("Creating unschedulable pod") By("Creating unschedulable pod")
ReserveMemory(f, "memory-reservation", 1, memCapacityMb, false) ReserveMemory(f, "memory-reservation", 1, memCapacityMb, false)
defer framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "memory-reservation") defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "memory-reservation")
By("Waiting for scale up hoping it won't happen") By("Waiting for scale up hoping it won't happen")
// Verfiy, that the appropreate event was generated. // Verfiy, that the appropreate event was generated.
...@@ -106,7 +106,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -106,7 +106,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
EventsLoop: EventsLoop:
for start := time.Now(); time.Since(start) < scaleUpTimeout; time.Sleep(20 * time.Second) { for start := time.Now(); time.Since(start) < scaleUpTimeout; time.Sleep(20 * time.Second) {
By("Waiting for NotTriggerScaleUp event") By("Waiting for NotTriggerScaleUp event")
events, err := f.ClientSet.Core().Events(f.Namespace.Name).List(api.ListOptions{}) events, err := f.ClientSet.Core().Events(f.Namespace.Name).List(v1.ListOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
for _, e := range events.Items { for _, e := range events.Items {
...@@ -125,7 +125,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -125,7 +125,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
It("should increase cluster size if pending pods are small [Feature:ClusterSizeAutoscalingScaleUp]", func() { It("should increase cluster size if pending pods are small [Feature:ClusterSizeAutoscalingScaleUp]", func() {
ReserveMemory(f, "memory-reservation", 100, nodeCount*memCapacityMb, false) ReserveMemory(f, "memory-reservation", 100, nodeCount*memCapacityMb, false)
defer framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "memory-reservation") defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "memory-reservation")
// Verify, that cluster size is increased // Verify, that cluster size is increased
framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet, framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet,
...@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
glog.Infof("Not enabling cluster autoscaler for the node pool (on purpose).") glog.Infof("Not enabling cluster autoscaler for the node pool (on purpose).")
ReserveMemory(f, "memory-reservation", 100, nodeCount*memCapacityMb, false) ReserveMemory(f, "memory-reservation", 100, nodeCount*memCapacityMb, false)
defer framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "memory-reservation") defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "memory-reservation")
// Verify, that cluster size is increased // Verify, that cluster size is increased
framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet, framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet,
...@@ -166,7 +166,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -166,7 +166,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
It("should increase cluster size if pods are pending due to host port conflict [Feature:ClusterSizeAutoscalingScaleUp]", func() { It("should increase cluster size if pods are pending due to host port conflict [Feature:ClusterSizeAutoscalingScaleUp]", func() {
CreateHostPortPods(f, "host-port", nodeCount+2, false) CreateHostPortPods(f, "host-port", nodeCount+2, false)
defer framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "host-port") defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "host-port")
framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet, framework.ExpectNoError(WaitForClusterSizeFunc(f.ClientSet,
func(size int) bool { return size >= nodeCount+2 }, scaleUpTimeout)) func(size int) bool { return size >= nodeCount+2 }, scaleUpTimeout))
...@@ -218,7 +218,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -218,7 +218,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
func(size int) bool { return size >= nodeCount+1 }, scaleUpTimeout)) func(size int) bool { return size >= nodeCount+1 }, scaleUpTimeout))
framework.ExpectNoError(waitForAllCaPodsReadyInNamespace(f, c)) framework.ExpectNoError(waitForAllCaPodsReadyInNamespace(f, c))
framework.ExpectNoError(framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "node-selector")) framework.ExpectNoError(framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "node-selector"))
}) })
It("should scale up correct target pool [Feature:ClusterSizeAutoscalingScaleUp]", func() { It("should scale up correct target pool [Feature:ClusterSizeAutoscalingScaleUp]", func() {
...@@ -233,7 +233,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() { ...@@ -233,7 +233,7 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
By("Creating rc with 2 pods too big to fit default-pool but fitting extra-pool") By("Creating rc with 2 pods too big to fit default-pool but fitting extra-pool")
ReserveMemory(f, "memory-reservation", 2, 2*memCapacityMb, false) ReserveMemory(f, "memory-reservation", 2, 2*memCapacityMb, false)
defer framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, "memory-reservation") defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, "memory-reservation")
// Apparently GKE master is restarted couple minutes after the node pool is added // Apparently GKE master is restarted couple minutes after the node pool is added
// reseting all the timers in scale down code. Adding 5 extra minutes to workaround // reseting all the timers in scale down code. Adding 5 extra minutes to workaround
...@@ -459,6 +459,7 @@ func CreateNodeSelectorPods(f *framework.Framework, id string, replicas int, nod ...@@ -459,6 +459,7 @@ func CreateNodeSelectorPods(f *framework.Framework, id string, replicas int, nod
config := &testutils.RCConfig{ config := &testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
InternalClient: f.InternalClientset,
Name: "node-selector", Name: "node-selector",
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: defaultTimeout, Timeout: defaultTimeout,
...@@ -477,6 +478,7 @@ func CreateHostPortPods(f *framework.Framework, id string, replicas int, expectR ...@@ -477,6 +478,7 @@ func CreateHostPortPods(f *framework.Framework, id string, replicas int, expectR
By(fmt.Sprintf("Running RC which reserves host port")) By(fmt.Sprintf("Running RC which reserves host port"))
config := &testutils.RCConfig{ config := &testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
InternalClient: f.InternalClientset,
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: defaultTimeout, Timeout: defaultTimeout,
...@@ -495,6 +497,7 @@ func ReserveCpu(f *framework.Framework, id string, replicas, millicores int) { ...@@ -495,6 +497,7 @@ func ReserveCpu(f *framework.Framework, id string, replicas, millicores int) {
request := int64(millicores / replicas) request := int64(millicores / replicas)
config := &testutils.RCConfig{ config := &testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
InternalClient: f.InternalClientset,
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: defaultTimeout, Timeout: defaultTimeout,
...@@ -510,6 +513,7 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e ...@@ -510,6 +513,7 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e
request := int64(1024 * 1024 * megabytes / replicas) request := int64(1024 * 1024 * megabytes / replicas)
config := &testutils.RCConfig{ config := &testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
InternalClient: f.InternalClientset,
Name: id, Name: id,
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Timeout: defaultTimeout, Timeout: defaultTimeout,
...@@ -526,9 +530,9 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e ...@@ -526,9 +530,9 @@ func ReserveMemory(f *framework.Framework, id string, replicas, megabytes int, e
// WaitForClusterSize waits until the cluster size matches the given function. // WaitForClusterSize waits until the cluster size matches the given function.
func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, timeout time.Duration) error { func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, timeout time.Duration) error {
for start := time.Now(); time.Since(start) < timeout; time.Sleep(20 * time.Second) { for start := time.Now(); time.Since(start) < timeout; time.Sleep(20 * time.Second) {
nodes, err := c.Core().Nodes().List(api.ListOptions{FieldSelector: fields.Set{ nodes, err := c.Core().Nodes().List(v1.ListOptions{FieldSelector: fields.Set{
"spec.unschedulable": "false", "spec.unschedulable": "false",
}.AsSelector()}) }.AsSelector().String()})
if err != nil { if err != nil {
glog.Warningf("Failed to list nodes: %v", err) glog.Warningf("Failed to list nodes: %v", err)
continue continue
...@@ -536,8 +540,8 @@ func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, time ...@@ -536,8 +540,8 @@ func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, time
numNodes := len(nodes.Items) numNodes := len(nodes.Items)
// Filter out not-ready nodes. // Filter out not-ready nodes.
framework.FilterNodes(nodes, func(node api.Node) bool { framework.FilterNodes(nodes, func(node v1.Node) bool {
return framework.IsNodeConditionSetAsExpected(&node, api.NodeReady, true) return framework.IsNodeConditionSetAsExpected(&node, v1.NodeReady, true)
}) })
numReady := len(nodes.Items) numReady := len(nodes.Items)
...@@ -553,7 +557,7 @@ func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, time ...@@ -553,7 +557,7 @@ func WaitForClusterSizeFunc(c clientset.Interface, sizeFunc func(int) bool, time
func waitForAllCaPodsReadyInNamespace(f *framework.Framework, c clientset.Interface) error { func waitForAllCaPodsReadyInNamespace(f *framework.Framework, c clientset.Interface) error {
var notready []string var notready []string
for start := time.Now(); time.Now().Before(start.Add(scaleUpTimeout)); time.Sleep(20 * time.Second) { for start := time.Now(); time.Now().Before(start.Add(scaleUpTimeout)); time.Sleep(20 * time.Second) {
pods, err := c.Core().Pods(f.Namespace.Name).List(api.ListOptions{}) pods, err := c.Core().Pods(f.Namespace.Name).List(v1.ListOptions{})
if err != nil { if err != nil {
return fmt.Errorf("failed to get pods: %v", err) return fmt.Errorf("failed to get pods: %v", err)
} }
...@@ -561,16 +565,16 @@ func waitForAllCaPodsReadyInNamespace(f *framework.Framework, c clientset.Interf ...@@ -561,16 +565,16 @@ func waitForAllCaPodsReadyInNamespace(f *framework.Framework, c clientset.Interf
for _, pod := range pods.Items { for _, pod := range pods.Items {
ready := false ready := false
for _, c := range pod.Status.Conditions { for _, c := range pod.Status.Conditions {
if c.Type == api.PodReady && c.Status == api.ConditionTrue { if c.Type == v1.PodReady && c.Status == v1.ConditionTrue {
ready = true ready = true
} }
} }
// Failed pods in this context generally mean that they have been // Failed pods in this context generally mean that they have been
// double scheduled onto a node, but then failed a constraint check. // double scheduled onto a node, but then failed a constraint check.
if pod.Status.Phase == api.PodFailed { if pod.Status.Phase == v1.PodFailed {
glog.Warningf("Pod has failed: %v", pod) glog.Warningf("Pod has failed: %v", pod)
} }
if !ready && pod.Status.Phase != api.PodFailed { if !ready && pod.Status.Phase != v1.PodFailed {
notready = append(notready, pod.Name) notready = append(notready, pod.Name)
} }
} }
......
...@@ -21,8 +21,8 @@ import ( ...@@ -21,8 +21,8 @@ import (
"path" "path"
"strings" "strings"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/chaosmonkey" "k8s.io/kubernetes/test/e2e/chaosmonkey"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -152,11 +152,11 @@ func testService(f *framework.Framework, sem *chaosmonkey.Semaphore, testDuringD ...@@ -152,11 +152,11 @@ func testService(f *framework.Framework, sem *chaosmonkey.Semaphore, testDuringD
By("creating a TCP service " + serviceName + " with type=LoadBalancer in namespace " + f.Namespace.Name) By("creating a TCP service " + serviceName + " with type=LoadBalancer in namespace " + f.Namespace.Name)
// TODO it's weird that we have to do this and then wait WaitForLoadBalancer which changes // TODO it's weird that we have to do this and then wait WaitForLoadBalancer which changes
// tcpService. // tcpService.
tcpService := jig.CreateTCPServiceOrFail(f.Namespace.Name, func(s *api.Service) { tcpService := jig.CreateTCPServiceOrFail(f.Namespace.Name, func(s *v1.Service) {
s.Spec.Type = api.ServiceTypeLoadBalancer s.Spec.Type = v1.ServiceTypeLoadBalancer
}) })
tcpService = jig.WaitForLoadBalancerOrFail(f.Namespace.Name, tcpService.Name, loadBalancerCreateTimeoutDefault) tcpService = jig.WaitForLoadBalancerOrFail(f.Namespace.Name, tcpService.Name, loadBalancerCreateTimeoutDefault)
jig.SanityCheckService(tcpService, api.ServiceTypeLoadBalancer) jig.SanityCheckService(tcpService, v1.ServiceTypeLoadBalancer)
// Get info to hit it with // Get info to hit it with
tcpIngressIP := getIngressPoint(&tcpService.Status.LoadBalancer.Ingress[0]) tcpIngressIP := getIngressPoint(&tcpService.Status.LoadBalancer.Ingress[0])
...@@ -188,7 +188,7 @@ func testService(f *framework.Framework, sem *chaosmonkey.Semaphore, testDuringD ...@@ -188,7 +188,7 @@ func testService(f *framework.Framework, sem *chaosmonkey.Semaphore, testDuringD
// Sanity check and hit it once more // Sanity check and hit it once more
By("hitting the pod through the service's LoadBalancer") By("hitting the pod through the service's LoadBalancer")
jig.TestReachableHTTP(tcpIngressIP, svcPort, loadBalancerLagTimeoutDefault) jig.TestReachableHTTP(tcpIngressIP, svcPort, loadBalancerLagTimeoutDefault)
jig.SanityCheckService(tcpService, api.ServiceTypeLoadBalancer) jig.SanityCheckService(tcpService, v1.ServiceTypeLoadBalancer)
} }
func checkMasterVersion(c clientset.Interface, want string) error { func checkMasterVersion(c clientset.Interface, want string) error {
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
"os" "os"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -79,8 +79,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -79,8 +79,8 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
volumeMountPath := "/etc/configmap-volume" volumeMountPath := "/etc/configmap-volume"
containerName := "configmap-volume-test" containerName := "configmap-volume-test"
configMap := &api.ConfigMap{ configMap := &v1.ConfigMap{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Name: name, Name: name,
}, },
...@@ -95,29 +95,29 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -95,29 +95,29 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
framework.Failf("unable to create test configMap %s: %v", configMap.Name, err) framework.Failf("unable to create test configMap %s: %v", configMap.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-configmaps-" + string(uuid.NewUUID()), Name: "pod-configmaps-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: containerName, Name: containerName,
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=/etc/configmap-volume/data-1"}, Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=/etc/configmap-volume/data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -126,7 +126,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -126,7 +126,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
By("Creating the pod") By("Creating the pod")
...@@ -157,22 +157,22 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -157,22 +157,22 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
framework.Failf("unable to create test configMap %s: %v", configMap.Name, err) framework.Failf("unable to create test configMap %s: %v", configMap.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-configmaps-" + string(uuid.NewUUID()), Name: "pod-configmaps-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "env-test", Name: "env-test",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c", "env"}, Command: []string{"sh", "-c", "env"},
Env: []api.EnvVar{ Env: []v1.EnvVar{
{ {
Name: "CONFIG_DATA_1", Name: "CONFIG_DATA_1",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ConfigMapKeyRef: &api.ConfigMapKeySelector{ ConfigMapKeyRef: &v1.ConfigMapKeySelector{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
Key: "data-1", Key: "data-1",
...@@ -182,7 +182,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -182,7 +182,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -207,17 +207,17 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -207,17 +207,17 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
framework.Failf("unable to create test configMap %s: %v", configMap.Name, err) framework.Failf("unable to create test configMap %s: %v", configMap.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-configmaps-" + string(uuid.NewUUID()), Name: "pod-configmaps-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
}, },
...@@ -225,21 +225,21 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -225,21 +225,21 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
}, },
{ {
Name: volumeName2, Name: volumeName2,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "configmap-volume-test", Name: "configmap-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{"--file_content=/etc/configmap-volume/data-1"}, Args: []string{"--file_content=/etc/configmap-volume/data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -253,7 +253,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -253,7 +253,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -264,9 +264,9 @@ var _ = framework.KubeDescribe("ConfigMap", func() { ...@@ -264,9 +264,9 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
}) })
}) })
func newConfigMap(f *framework.Framework, name string) *api.ConfigMap { func newConfigMap(f *framework.Framework, name string) *v1.ConfigMap {
return &api.ConfigMap{ return &v1.ConfigMap{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Name: name, Name: name,
}, },
...@@ -292,32 +292,32 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d ...@@ -292,32 +292,32 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d
framework.Failf("unable to create test configMap %s: %v", configMap.Name, err) framework.Failf("unable to create test configMap %s: %v", configMap.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-configmaps-" + string(uuid.NewUUID()), Name: "pod-configmaps-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
SecurityContext: &api.PodSecurityContext{}, SecurityContext: &v1.PodSecurityContext{},
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "configmap-volume-test", Name: "configmap-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{ Args: []string{
"--file_content=/etc/configmap-volume/data-1", "--file_content=/etc/configmap-volume/data-1",
"--file_mode=/etc/configmap-volume/data-1"}, "--file_mode=/etc/configmap-volume/data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -325,7 +325,7 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d ...@@ -325,7 +325,7 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -353,7 +353,6 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d ...@@ -353,7 +353,6 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d
output = append(output, "mode of file \"/etc/configmap-volume/data-1\": "+modeString) output = append(output, "mode of file \"/etc/configmap-volume/data-1\": "+modeString)
} }
f.TestContainerOutput("consume configMaps", pod, 0, output) f.TestContainerOutput("consume configMaps", pod, 0, output)
} }
func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, itemMode *int32) { func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, itemMode *int32) {
...@@ -371,21 +370,21 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item ...@@ -371,21 +370,21 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item
framework.Failf("unable to create test configMap %s: %v", configMap.Name, err) framework.Failf("unable to create test configMap %s: %v", configMap.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-configmaps-" + string(uuid.NewUUID()), Name: "pod-configmaps-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
SecurityContext: &api.PodSecurityContext{}, SecurityContext: &v1.PodSecurityContext{},
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
Items: []api.KeyToPath{ Items: []v1.KeyToPath{
{ {
Key: "data-2", Key: "data-2",
Path: "path/to/data-2", Path: "path/to/data-2",
...@@ -395,13 +394,13 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item ...@@ -395,13 +394,13 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "configmap-volume-test", Name: "configmap-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{"--file_content=/etc/configmap-volume/path/to/data-2", Args: []string{"--file_content=/etc/configmap-volume/path/to/data-2",
"--file_mode=/etc/configmap-volume/path/to/data-2"}, "--file_mode=/etc/configmap-volume/path/to/data-2"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -410,7 +409,7 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item ...@@ -410,7 +409,7 @@ func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, item
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
......
...@@ -17,7 +17,7 @@ limitations under the License. ...@@ -17,7 +17,7 @@ limitations under the License.
package common package common
import ( import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -67,21 +67,21 @@ var _ = framework.KubeDescribe("Docker Containers", func() { ...@@ -67,21 +67,21 @@ var _ = framework.KubeDescribe("Docker Containers", func() {
const testContainerName = "test-container" const testContainerName = "test-container"
// Return a prototypical entrypoint test pod // Return a prototypical entrypoint test pod
func entrypointTestPod() *api.Pod { func entrypointTestPod() *v1.Pod {
podName := "client-containers-" + string(uuid.NewUUID()) podName := "client-containers-" + string(uuid.NewUUID())
return &api.Pod{ return &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: testContainerName, Name: testContainerName,
Image: "gcr.io/google_containers/eptest:0.1", Image: "gcr.io/google_containers/eptest:0.1",
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
} }
...@@ -19,8 +19,8 @@ package common ...@@ -19,8 +19,8 @@ package common
import ( import (
"fmt" "fmt"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -32,11 +32,11 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -32,11 +32,11 @@ var _ = framework.KubeDescribe("Downward API", func() {
It("should provide pod name and namespace as env vars [Conformance]", func() { It("should provide pod name and namespace as env vars [Conformance]", func() {
podName := "downward-api-" + string(uuid.NewUUID()) podName := "downward-api-" + string(uuid.NewUUID())
env := []api.EnvVar{ env := []v1.EnvVar{
{ {
Name: "POD_NAME", Name: "POD_NAME",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "metadata.name", FieldPath: "metadata.name",
}, },
...@@ -44,8 +44,8 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -44,8 +44,8 @@ var _ = framework.KubeDescribe("Downward API", func() {
}, },
{ {
Name: "POD_NAMESPACE", Name: "POD_NAMESPACE",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "metadata.namespace", FieldPath: "metadata.namespace",
}, },
...@@ -63,11 +63,11 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -63,11 +63,11 @@ var _ = framework.KubeDescribe("Downward API", func() {
It("should provide pod IP as an env var [Conformance]", func() { It("should provide pod IP as an env var [Conformance]", func() {
podName := "downward-api-" + string(uuid.NewUUID()) podName := "downward-api-" + string(uuid.NewUUID())
env := []api.EnvVar{ env := []v1.EnvVar{
{ {
Name: "POD_IP", Name: "POD_IP",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "status.podIP", FieldPath: "status.podIP",
}, },
...@@ -84,35 +84,35 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -84,35 +84,35 @@ var _ = framework.KubeDescribe("Downward API", func() {
It("should provide container's limits.cpu/memory and requests.cpu/memory as env vars [Conformance]", func() { It("should provide container's limits.cpu/memory and requests.cpu/memory as env vars [Conformance]", func() {
podName := "downward-api-" + string(uuid.NewUUID()) podName := "downward-api-" + string(uuid.NewUUID())
env := []api.EnvVar{ env := []v1.EnvVar{
{ {
Name: "CPU_LIMIT", Name: "CPU_LIMIT",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "limits.cpu", Resource: "limits.cpu",
}, },
}, },
}, },
{ {
Name: "MEMORY_LIMIT", Name: "MEMORY_LIMIT",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "limits.memory", Resource: "limits.memory",
}, },
}, },
}, },
{ {
Name: "CPU_REQUEST", Name: "CPU_REQUEST",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "requests.cpu", Resource: "requests.cpu",
}, },
}, },
}, },
{ {
Name: "MEMORY_REQUEST", Name: "MEMORY_REQUEST",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "requests.memory", Resource: "requests.memory",
}, },
}, },
...@@ -130,19 +130,19 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -130,19 +130,19 @@ var _ = framework.KubeDescribe("Downward API", func() {
It("should provide default limits.cpu/memory from node allocatable [Conformance]", func() { It("should provide default limits.cpu/memory from node allocatable [Conformance]", func() {
podName := "downward-api-" + string(uuid.NewUUID()) podName := "downward-api-" + string(uuid.NewUUID())
env := []api.EnvVar{ env := []v1.EnvVar{
{ {
Name: "CPU_LIMIT", Name: "CPU_LIMIT",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "limits.cpu", Resource: "limits.cpu",
}, },
}, },
}, },
{ {
Name: "MEMORY_LIMIT", Name: "MEMORY_LIMIT",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
Resource: "limits.memory", Resource: "limits.memory",
}, },
}, },
...@@ -152,13 +152,13 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -152,13 +152,13 @@ var _ = framework.KubeDescribe("Downward API", func() {
fmt.Sprintf("CPU_LIMIT=[1-9]"), fmt.Sprintf("CPU_LIMIT=[1-9]"),
fmt.Sprintf("MEMORY_LIMIT=[1-9]"), fmt.Sprintf("MEMORY_LIMIT=[1-9]"),
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{"name": podName}, Labels: map[string]string{"name": podName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "dapi-container", Name: "dapi-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
...@@ -166,7 +166,7 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -166,7 +166,7 @@ var _ = framework.KubeDescribe("Downward API", func() {
Env: env, Env: env,
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -174,38 +174,38 @@ var _ = framework.KubeDescribe("Downward API", func() { ...@@ -174,38 +174,38 @@ var _ = framework.KubeDescribe("Downward API", func() {
}) })
}) })
func testDownwardAPI(f *framework.Framework, podName string, env []api.EnvVar, expectations []string) { func testDownwardAPI(f *framework.Framework, podName string, env []v1.EnvVar, expectations []string) {
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{"name": podName}, Labels: map[string]string{"name": podName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "dapi-container", Name: "dapi-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c", "env"}, Command: []string{"sh", "-c", "env"},
Resources: api.ResourceRequirements{ Resources: v1.ResourceRequirements{
Requests: api.ResourceList{ Requests: v1.ResourceList{
api.ResourceCPU: resource.MustParse("250m"), v1.ResourceCPU: resource.MustParse("250m"),
api.ResourceMemory: resource.MustParse("32Mi"), v1.ResourceMemory: resource.MustParse("32Mi"),
}, },
Limits: api.ResourceList{ Limits: v1.ResourceList{
api.ResourceCPU: resource.MustParse("1250m"), v1.ResourceCPU: resource.MustParse("1250m"),
api.ResourceMemory: resource.MustParse("64Mi"), v1.ResourceMemory: resource.MustParse("64Mi"),
}, },
}, },
Env: env, Env: env,
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
testDownwardAPIUsingPod(f, pod, env, expectations) testDownwardAPIUsingPod(f, pod, env, expectations)
} }
func testDownwardAPIUsingPod(f *framework.Framework, pod *api.Pod, env []api.EnvVar, expectations []string) { func testDownwardAPIUsingPod(f *framework.Framework, pod *v1.Pod, env []v1.EnvVar, expectations []string) {
f.TestContainerOutputRegexp("downward api env vars", pod, 0, expectations) f.TestContainerOutputRegexp("downward api env vars", pod, 0, expectations)
} }
...@@ -20,8 +20,8 @@ import ( ...@@ -20,8 +20,8 @@ import (
"fmt" "fmt"
"time" "time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -72,7 +72,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() { ...@@ -72,7 +72,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
uid := int64(1001) uid := int64(1001)
gid := int64(1234) gid := int64(1234)
pod := downwardAPIVolumePodForSimpleTest(podName, "/etc/podname") pod := downwardAPIVolumePodForSimpleTest(podName, "/etc/podname")
pod.Spec.SecurityContext = &api.PodSecurityContext{ pod.Spec.SecurityContext = &v1.PodSecurityContext{
RunAsUser: &uid, RunAsUser: &uid,
FSGroup: &gid, FSGroup: &gid,
} }
...@@ -98,7 +98,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() { ...@@ -98,7 +98,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
podLogTimeout, framework.Poll).Should(ContainSubstring("key1=\"value1\"\n")) podLogTimeout, framework.Poll).Should(ContainSubstring("key1=\"value1\"\n"))
//modify labels //modify labels
podClient.Update(podName, func(pod *api.Pod) { podClient.Update(podName, func(pod *v1.Pod) {
pod.Labels["key3"] = "value3" pod.Labels["key3"] = "value3"
}) })
...@@ -127,7 +127,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() { ...@@ -127,7 +127,7 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
podLogTimeout, framework.Poll).Should(ContainSubstring("builder=\"bar\"\n")) podLogTimeout, framework.Poll).Should(ContainSubstring("builder=\"bar\"\n"))
//modify annotations //modify annotations
podClient.Update(podName, func(pod *api.Pod) { podClient.Update(podName, func(pod *v1.Pod) {
pod.Annotations["builder"] = "foo" pod.Annotations["builder"] = "foo"
}) })
...@@ -189,15 +189,15 @@ var _ = framework.KubeDescribe("Downward API volume", func() { ...@@ -189,15 +189,15 @@ var _ = framework.KubeDescribe("Downward API volume", func() {
}) })
func downwardAPIVolumePodForModeTest(name, filePath string, itemMode, defaultMode *int32) *api.Pod { func downwardAPIVolumePodForModeTest(name, filePath string, itemMode, defaultMode *int32) *v1.Pod {
pod := downwardAPIVolumeBasePod(name, nil, nil) pod := downwardAPIVolumeBasePod(name, nil, nil)
pod.Spec.Containers = []api.Container{ pod.Spec.Containers = []v1.Container{
{ {
Name: "client-container", Name: "client-container",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--file_mode=" + filePath}, Command: []string{"/mt", "--file_mode=" + filePath},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "podinfo", Name: "podinfo",
MountPath: "/etc", MountPath: "/etc",
...@@ -215,15 +215,15 @@ func downwardAPIVolumePodForModeTest(name, filePath string, itemMode, defaultMod ...@@ -215,15 +215,15 @@ func downwardAPIVolumePodForModeTest(name, filePath string, itemMode, defaultMod
return pod return pod
} }
func downwardAPIVolumePodForSimpleTest(name string, filePath string) *api.Pod { func downwardAPIVolumePodForSimpleTest(name string, filePath string) *v1.Pod {
pod := downwardAPIVolumeBasePod(name, nil, nil) pod := downwardAPIVolumeBasePod(name, nil, nil)
pod.Spec.Containers = []api.Container{ pod.Spec.Containers = []v1.Container{
{ {
Name: "client-container", Name: "client-container",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--file_content=" + filePath}, Command: []string{"/mt", "--file_content=" + filePath},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "podinfo", Name: "podinfo",
MountPath: "/etc", MountPath: "/etc",
...@@ -236,35 +236,35 @@ func downwardAPIVolumePodForSimpleTest(name string, filePath string) *api.Pod { ...@@ -236,35 +236,35 @@ func downwardAPIVolumePodForSimpleTest(name string, filePath string) *api.Pod {
return pod return pod
} }
func downwardAPIVolumeForContainerResources(name string, filePath string) *api.Pod { func downwardAPIVolumeForContainerResources(name string, filePath string) *v1.Pod {
pod := downwardAPIVolumeBasePod(name, nil, nil) pod := downwardAPIVolumeBasePod(name, nil, nil)
pod.Spec.Containers = downwardAPIVolumeBaseContainers("client-container", filePath) pod.Spec.Containers = downwardAPIVolumeBaseContainers("client-container", filePath)
return pod return pod
} }
func downwardAPIVolumeForDefaultContainerResources(name string, filePath string) *api.Pod { func downwardAPIVolumeForDefaultContainerResources(name string, filePath string) *v1.Pod {
pod := downwardAPIVolumeBasePod(name, nil, nil) pod := downwardAPIVolumeBasePod(name, nil, nil)
pod.Spec.Containers = downwardAPIVolumeDefaultBaseContainer("client-container", filePath) pod.Spec.Containers = downwardAPIVolumeDefaultBaseContainer("client-container", filePath)
return pod return pod
} }
func downwardAPIVolumeBaseContainers(name, filePath string) []api.Container { func downwardAPIVolumeBaseContainers(name, filePath string) []v1.Container {
return []api.Container{ return []v1.Container{
{ {
Name: name, Name: name,
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--file_content=" + filePath}, Command: []string{"/mt", "--file_content=" + filePath},
Resources: api.ResourceRequirements{ Resources: v1.ResourceRequirements{
Requests: api.ResourceList{ Requests: v1.ResourceList{
api.ResourceCPU: resource.MustParse("250m"), v1.ResourceCPU: resource.MustParse("250m"),
api.ResourceMemory: resource.MustParse("32Mi"), v1.ResourceMemory: resource.MustParse("32Mi"),
}, },
Limits: api.ResourceList{ Limits: v1.ResourceList{
api.ResourceCPU: resource.MustParse("1250m"), v1.ResourceCPU: resource.MustParse("1250m"),
api.ResourceMemory: resource.MustParse("64Mi"), v1.ResourceMemory: resource.MustParse("64Mi"),
}, },
}, },
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "podinfo", Name: "podinfo",
MountPath: "/etc", MountPath: "/etc",
...@@ -276,13 +276,13 @@ func downwardAPIVolumeBaseContainers(name, filePath string) []api.Container { ...@@ -276,13 +276,13 @@ func downwardAPIVolumeBaseContainers(name, filePath string) []api.Container {
} }
func downwardAPIVolumeDefaultBaseContainer(name, filePath string) []api.Container { func downwardAPIVolumeDefaultBaseContainer(name, filePath string) []v1.Container {
return []api.Container{ return []v1.Container{
{ {
Name: name, Name: name,
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--file_content=" + filePath}, Command: []string{"/mt", "--file_content=" + filePath},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "podinfo", Name: "podinfo",
MountPath: "/etc", MountPath: "/etc",
...@@ -293,15 +293,15 @@ func downwardAPIVolumeDefaultBaseContainer(name, filePath string) []api.Containe ...@@ -293,15 +293,15 @@ func downwardAPIVolumeDefaultBaseContainer(name, filePath string) []api.Containe
} }
func downwardAPIVolumePodForUpdateTest(name string, labels, annotations map[string]string, filePath string) *api.Pod { func downwardAPIVolumePodForUpdateTest(name string, labels, annotations map[string]string, filePath string) *v1.Pod {
pod := downwardAPIVolumeBasePod(name, labels, annotations) pod := downwardAPIVolumeBasePod(name, labels, annotations)
pod.Spec.Containers = []api.Container{ pod.Spec.Containers = []v1.Container{
{ {
Name: "client-container", Name: "client-container",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath}, Command: []string{"/mt", "--break_on_expected_content=false", "--retry_time=120", "--file_content_in_loop=" + filePath},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "podinfo", Name: "podinfo",
MountPath: "/etc", MountPath: "/etc",
...@@ -315,51 +315,51 @@ func downwardAPIVolumePodForUpdateTest(name string, labels, annotations map[stri ...@@ -315,51 +315,51 @@ func downwardAPIVolumePodForUpdateTest(name string, labels, annotations map[stri
return pod return pod
} }
func downwardAPIVolumeBasePod(name string, labels, annotations map[string]string) *api.Pod { func downwardAPIVolumeBasePod(name string, labels, annotations map[string]string) *v1.Pod {
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
Labels: labels, Labels: labels,
Annotations: annotations, Annotations: annotations,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: "podinfo", Name: "podinfo",
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
DownwardAPI: &api.DownwardAPIVolumeSource{ DownwardAPI: &v1.DownwardAPIVolumeSource{
Items: []api.DownwardAPIVolumeFile{ Items: []v1.DownwardAPIVolumeFile{
{ {
Path: "podname", Path: "podname",
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "metadata.name", FieldPath: "metadata.name",
}, },
}, },
{ {
Path: "cpu_limit", Path: "cpu_limit",
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
ContainerName: "client-container", ContainerName: "client-container",
Resource: "limits.cpu", Resource: "limits.cpu",
}, },
}, },
{ {
Path: "cpu_request", Path: "cpu_request",
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
ContainerName: "client-container", ContainerName: "client-container",
Resource: "requests.cpu", Resource: "requests.cpu",
}, },
}, },
{ {
Path: "memory_limit", Path: "memory_limit",
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
ContainerName: "client-container", ContainerName: "client-container",
Resource: "limits.memory", Resource: "limits.memory",
}, },
}, },
{ {
Path: "memory_request", Path: "memory_request",
ResourceFieldRef: &api.ResourceFieldSelector{ ResourceFieldRef: &v1.ResourceFieldSelector{
ContainerName: "client-container", ContainerName: "client-container",
Resource: "requests.memory", Resource: "requests.memory",
}, },
...@@ -369,18 +369,18 @@ func downwardAPIVolumeBasePod(name string, labels, annotations map[string]string ...@@ -369,18 +369,18 @@ func downwardAPIVolumeBasePod(name string, labels, annotations map[string]string
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
return pod return pod
} }
func applyLabelsAndAnnotationsToDownwardAPIPod(labels, annotations map[string]string, pod *api.Pod) { func applyLabelsAndAnnotationsToDownwardAPIPod(labels, annotations map[string]string, pod *v1.Pod) {
if len(labels) > 0 { if len(labels) > 0 {
pod.Spec.Volumes[0].DownwardAPI.Items = append(pod.Spec.Volumes[0].DownwardAPI.Items, api.DownwardAPIVolumeFile{ pod.Spec.Volumes[0].DownwardAPI.Items = append(pod.Spec.Volumes[0].DownwardAPI.Items, v1.DownwardAPIVolumeFile{
Path: "labels", Path: "labels",
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "metadata.labels", FieldPath: "metadata.labels",
}, },
...@@ -388,9 +388,9 @@ func applyLabelsAndAnnotationsToDownwardAPIPod(labels, annotations map[string]st ...@@ -388,9 +388,9 @@ func applyLabelsAndAnnotationsToDownwardAPIPod(labels, annotations map[string]st
} }
if len(annotations) > 0 { if len(annotations) > 0 {
pod.Spec.Volumes[0].DownwardAPI.Items = append(pod.Spec.Volumes[0].DownwardAPI.Items, api.DownwardAPIVolumeFile{ pod.Spec.Volumes[0].DownwardAPI.Items = append(pod.Spec.Volumes[0].DownwardAPI.Items, v1.DownwardAPIVolumeFile{
Path: "annotations", Path: "annotations",
FieldRef: &api.ObjectFieldSelector{ FieldRef: &v1.ObjectFieldSelector{
APIVersion: "v1", APIVersion: "v1",
FieldPath: "metadata.annotations", FieldPath: "metadata.annotations",
}, },
......
...@@ -17,7 +17,7 @@ limitations under the License. ...@@ -17,7 +17,7 @@ limitations under the License.
package common package common
import ( import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -31,18 +31,18 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -31,18 +31,18 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
It("should allow composing env vars into new env vars [Conformance]", func() { It("should allow composing env vars into new env vars [Conformance]", func() {
podName := "var-expansion-" + string(uuid.NewUUID()) podName := "var-expansion-" + string(uuid.NewUUID())
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{"name": podName}, Labels: map[string]string{"name": podName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "dapi-container", Name: "dapi-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c", "env"}, Command: []string{"sh", "-c", "env"},
Env: []api.EnvVar{ Env: []v1.EnvVar{
{ {
Name: "FOO", Name: "FOO",
Value: "foo-value", Value: "foo-value",
...@@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -71,18 +71,18 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -71,18 +71,18 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
It("should allow substituting values in a container's command [Conformance]", func() { It("should allow substituting values in a container's command [Conformance]", func() {
podName := "var-expansion-" + string(uuid.NewUUID()) podName := "var-expansion-" + string(uuid.NewUUID())
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{"name": podName}, Labels: map[string]string{"name": podName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "dapi-container", Name: "dapi-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c", "TEST_VAR=wrong echo \"$(TEST_VAR)\""}, Command: []string{"sh", "-c", "TEST_VAR=wrong echo \"$(TEST_VAR)\""},
Env: []api.EnvVar{ Env: []v1.EnvVar{
{ {
Name: "TEST_VAR", Name: "TEST_VAR",
Value: "test-value", Value: "test-value",
...@@ -90,7 +90,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -90,7 +90,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -101,19 +101,19 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -101,19 +101,19 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
It("should allow substituting values in a container's args [Conformance]", func() { It("should allow substituting values in a container's args [Conformance]", func() {
podName := "var-expansion-" + string(uuid.NewUUID()) podName := "var-expansion-" + string(uuid.NewUUID())
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{"name": podName}, Labels: map[string]string{"name": podName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "dapi-container", Name: "dapi-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c"}, Command: []string{"sh", "-c"},
Args: []string{"TEST_VAR=wrong echo \"$(TEST_VAR)\""}, Args: []string{"TEST_VAR=wrong echo \"$(TEST_VAR)\""},
Env: []api.EnvVar{ Env: []v1.EnvVar{
{ {
Name: "TEST_VAR", Name: "TEST_VAR",
Value: "test-value", Value: "test-value",
...@@ -121,7 +121,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { ...@@ -121,7 +121,7 @@ var _ = framework.KubeDescribe("Variable Expansion", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
......
...@@ -21,8 +21,8 @@ import ( ...@@ -21,8 +21,8 @@ import (
"os" "os"
"path" "path"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -41,7 +41,7 @@ var _ = framework.KubeDescribe("HostPath", func() { ...@@ -41,7 +41,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
It("should give a volume the correct mode [Conformance]", func() { It("should give a volume the correct mode [Conformance]", func() {
volumePath := "/test-volume" volumePath := "/test-volume"
source := &api.HostPathVolumeSource{ source := &v1.HostPathVolumeSource{
Path: "/tmp", Path: "/tmp",
} }
pod := testPodWithHostVol(volumePath, source) pod := testPodWithHostVol(volumePath, source)
...@@ -60,7 +60,7 @@ var _ = framework.KubeDescribe("HostPath", func() { ...@@ -60,7 +60,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
volumePath := "/test-volume" volumePath := "/test-volume"
filePath := path.Join(volumePath, "test-file") filePath := path.Join(volumePath, "test-file")
retryDuration := 180 retryDuration := 180
source := &api.HostPathVolumeSource{ source := &v1.HostPathVolumeSource{
Path: "/tmp", Path: "/tmp",
} }
pod := testPodWithHostVol(volumePath, source) pod := testPodWithHostVol(volumePath, source)
...@@ -90,7 +90,7 @@ var _ = framework.KubeDescribe("HostPath", func() { ...@@ -90,7 +90,7 @@ var _ = framework.KubeDescribe("HostPath", func() {
filePathInWriter := path.Join(volumePath, fileName) filePathInWriter := path.Join(volumePath, fileName)
filePathInReader := path.Join(volumePath, subPath, fileName) filePathInReader := path.Join(volumePath, subPath, fileName)
source := &api.HostPathVolumeSource{ source := &v1.HostPathVolumeSource{
Path: "/tmp", Path: "/tmp",
} }
pod := testPodWithHostVol(volumePath, source) pod := testPodWithHostVol(volumePath, source)
...@@ -118,11 +118,11 @@ var _ = framework.KubeDescribe("HostPath", func() { ...@@ -118,11 +118,11 @@ var _ = framework.KubeDescribe("HostPath", func() {
const containerName1 = "test-container-1" const containerName1 = "test-container-1"
const containerName2 = "test-container-2" const containerName2 = "test-container-2"
func mount(source *api.HostPathVolumeSource) []api.Volume { func mount(source *v1.HostPathVolumeSource) []v1.Volume {
return []api.Volume{ return []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
HostPath: source, HostPath: source,
}, },
}, },
...@@ -130,23 +130,23 @@ func mount(source *api.HostPathVolumeSource) []api.Volume { ...@@ -130,23 +130,23 @@ func mount(source *api.HostPathVolumeSource) []api.Volume {
} }
//TODO: To merge this with the emptyDir tests, we can make source a lambda. //TODO: To merge this with the emptyDir tests, we can make source a lambda.
func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod { func testPodWithHostVol(path string, source *v1.HostPathVolumeSource) *v1.Pod {
podName := "pod-host-path-test" podName := "pod-host-path-test"
return &api.Pod{ return &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
APIVersion: registered.GroupOrDie(api.GroupName).GroupVersion.String(), APIVersion: registered.GroupOrDie(v1.GroupName).GroupVersion.String(),
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: containerName1, Name: containerName1,
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: path, MountPath: path,
...@@ -156,7 +156,7 @@ func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod ...@@ -156,7 +156,7 @@ func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod
{ {
Name: containerName2, Name: containerName2,
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: path, MountPath: path,
...@@ -164,7 +164,7 @@ func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod ...@@ -164,7 +164,7 @@ func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
Volumes: mount(source), Volumes: mount(source),
}, },
} }
......
...@@ -22,7 +22,7 @@ import ( ...@@ -22,7 +22,7 @@ import (
"github.com/golang/glog" "github.com/golang/glog"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
) )
...@@ -34,8 +34,8 @@ const ( ...@@ -34,8 +34,8 @@ const (
) )
type KubeletManagedHostConfig struct { type KubeletManagedHostConfig struct {
hostNetworkPod *api.Pod hostNetworkPod *v1.Pod
pod *api.Pod pod *v1.Pod
f *framework.Framework f *framework.Framework
} }
...@@ -128,17 +128,17 @@ func (config *KubeletManagedHostConfig) getEtcHostsContent(podName, containerNam ...@@ -128,17 +128,17 @@ func (config *KubeletManagedHostConfig) getEtcHostsContent(podName, containerNam
return config.f.ExecCommandInContainer(podName, containerName, "cat", "/etc/hosts") return config.f.ExecCommandInContainer(podName, containerName, "cat", "/etc/hosts")
} }
func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod { func (config *KubeletManagedHostConfig) createPodSpec(podName string) *v1.Pod {
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "busybox-1", Name: "busybox-1",
Image: etcHostsImageName, Image: etcHostsImageName,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Command: []string{
"sleep", "sleep",
"900", "900",
...@@ -147,7 +147,7 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod { ...@@ -147,7 +147,7 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod {
{ {
Name: "busybox-2", Name: "busybox-2",
Image: etcHostsImageName, Image: etcHostsImageName,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Command: []string{
"sleep", "sleep",
"900", "900",
...@@ -156,12 +156,12 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod { ...@@ -156,12 +156,12 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod {
{ {
Name: "busybox-3", Name: "busybox-3",
Image: etcHostsImageName, Image: etcHostsImageName,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Command: []string{
"sleep", "sleep",
"900", "900",
}, },
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "host-etc-hosts", Name: "host-etc-hosts",
MountPath: "/etc/hosts", MountPath: "/etc/hosts",
...@@ -169,11 +169,11 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod { ...@@ -169,11 +169,11 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod {
}, },
}, },
}, },
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: "host-etc-hosts", Name: "host-etc-hosts",
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
HostPath: &api.HostPathVolumeSource{ HostPath: &v1.HostPathVolumeSource{
Path: "/etc/hosts", Path: "/etc/hosts",
}, },
}, },
...@@ -184,20 +184,19 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod { ...@@ -184,20 +184,19 @@ func (config *KubeletManagedHostConfig) createPodSpec(podName string) *api.Pod {
return pod return pod
} }
func (config *KubeletManagedHostConfig) createPodSpecWithHostNetwork(podName string) *api.Pod { func (config *KubeletManagedHostConfig) createPodSpecWithHostNetwork(podName string) *v1.Pod {
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
SecurityContext: &api.PodSecurityContext{ HostNetwork: true,
HostNetwork: true, SecurityContext: &v1.PodSecurityContext{},
}, Containers: []v1.Container{
Containers: []api.Container{
{ {
Name: "busybox-1", Name: "busybox-1",
Image: etcHostsImageName, Image: etcHostsImageName,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Command: []string{
"sleep", "sleep",
"900", "900",
...@@ -206,7 +205,7 @@ func (config *KubeletManagedHostConfig) createPodSpecWithHostNetwork(podName str ...@@ -206,7 +205,7 @@ func (config *KubeletManagedHostConfig) createPodSpecWithHostNetwork(podName str
{ {
Name: "busybox-2", Name: "busybox-2",
Image: etcHostsImageName, Image: etcHostsImageName,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
Command: []string{ Command: []string{
"sleep", "sleep",
"900", "900",
......
...@@ -23,7 +23,7 @@ import ( ...@@ -23,7 +23,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
) )
...@@ -40,9 +40,9 @@ const ( ...@@ -40,9 +40,9 @@ const (
) )
type PrivilegedPodTestConfig struct { type PrivilegedPodTestConfig struct {
privilegedPod *api.Pod privilegedPod *v1.Pod
f *framework.Framework f *framework.Framework
hostExecPod *api.Pod hostExecPod *v1.Pod
} }
var _ = framework.KubeDescribe("PrivilegedPod", func() { var _ = framework.KubeDescribe("PrivilegedPod", func() {
...@@ -96,21 +96,21 @@ func (config *PrivilegedPodTestConfig) dialFromContainer(containerIP string, con ...@@ -96,21 +96,21 @@ func (config *PrivilegedPodTestConfig) dialFromContainer(containerIP string, con
return output return output
} }
func (config *PrivilegedPodTestConfig) createPrivilegedPodSpec() *api.Pod { func (config *PrivilegedPodTestConfig) createPrivilegedPodSpec() *v1.Pod {
isPrivileged := true isPrivileged := true
notPrivileged := false notPrivileged := false
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: privilegedPodName, Name: privilegedPodName,
Namespace: config.f.Namespace.Name, Namespace: config.f.Namespace.Name,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: privilegedContainerName, Name: privilegedContainerName,
Image: privilegedContainerImage, Image: privilegedContainerImage,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
SecurityContext: &api.SecurityContext{Privileged: &isPrivileged}, SecurityContext: &v1.SecurityContext{Privileged: &isPrivileged},
Command: []string{ Command: []string{
"/netexec", "/netexec",
fmt.Sprintf("--http-port=%d", privilegedHttpPort), fmt.Sprintf("--http-port=%d", privilegedHttpPort),
...@@ -120,8 +120,8 @@ func (config *PrivilegedPodTestConfig) createPrivilegedPodSpec() *api.Pod { ...@@ -120,8 +120,8 @@ func (config *PrivilegedPodTestConfig) createPrivilegedPodSpec() *api.Pod {
{ {
Name: notPrivilegedContainerName, Name: notPrivilegedContainerName,
Image: privilegedContainerImage, Image: privilegedContainerImage,
ImagePullPolicy: api.PullIfNotPresent, ImagePullPolicy: v1.PullIfNotPresent,
SecurityContext: &api.SecurityContext{Privileged: &notPrivileged}, SecurityContext: &v1.SecurityContext{Privileged: &notPrivileged},
Command: []string{ Command: []string{
"/netexec", "/netexec",
fmt.Sprintf("--http-port=%d", notPrivilegedHttpPort), fmt.Sprintf("--http-port=%d", notPrivilegedHttpPort),
......
...@@ -20,7 +20,7 @@ import ( ...@@ -20,7 +20,7 @@ import (
"fmt" "fmt"
"os" "os"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -50,7 +50,7 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -50,7 +50,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
It("should be able to mount in a volume regardless of a different secret existing with same name in different namespace", func() { It("should be able to mount in a volume regardless of a different secret existing with same name in different namespace", func() {
var ( var (
namespace2 *api.Namespace namespace2 *v1.Namespace
err error err error
secret2Name = "secret-test-" + string(uuid.NewUUID()) secret2Name = "secret-test-" + string(uuid.NewUUID())
) )
...@@ -88,37 +88,37 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -88,37 +88,37 @@ var _ = framework.KubeDescribe("Secrets", func() {
framework.Failf("unable to create test secret %s: %v", secret.Name, err) framework.Failf("unable to create test secret %s: %v", secret.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-secrets-" + string(uuid.NewUUID()), Name: "pod-secrets-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
Secret: &api.SecretVolumeSource{ Secret: &v1.SecretVolumeSource{
SecretName: name, SecretName: name,
}, },
}, },
}, },
{ {
Name: volumeName2, Name: volumeName2,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
Secret: &api.SecretVolumeSource{ Secret: &v1.SecretVolumeSource{
SecretName: name, SecretName: name,
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "secret-volume-test", Name: "secret-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{ Args: []string{
"--file_content=/etc/secret-volume/data-1", "--file_content=/etc/secret-volume/data-1",
"--file_mode=/etc/secret-volume/data-1"}, "--file_mode=/etc/secret-volume/data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -132,7 +132,7 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -132,7 +132,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -152,22 +152,22 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -152,22 +152,22 @@ var _ = framework.KubeDescribe("Secrets", func() {
framework.Failf("unable to create test secret %s: %v", secret.Name, err) framework.Failf("unable to create test secret %s: %v", secret.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-secrets-" + string(uuid.NewUUID()), Name: "pod-secrets-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "secret-env-test", Name: "secret-env-test",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sh", "-c", "env"}, Command: []string{"sh", "-c", "env"},
Env: []api.EnvVar{ Env: []v1.EnvVar{
{ {
Name: "SECRET_DATA", Name: "SECRET_DATA",
ValueFrom: &api.EnvVarSource{ ValueFrom: &v1.EnvVarSource{
SecretKeyRef: &api.SecretKeySelector{ SecretKeyRef: &v1.SecretKeySelector{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: name, Name: name,
}, },
Key: "data-1", Key: "data-1",
...@@ -177,7 +177,7 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -177,7 +177,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -187,9 +187,9 @@ var _ = framework.KubeDescribe("Secrets", func() { ...@@ -187,9 +187,9 @@ var _ = framework.KubeDescribe("Secrets", func() {
}) })
}) })
func secretForTest(namespace, name string) *api.Secret { func secretForTest(namespace, name string) *v1.Secret {
return &api.Secret{ return &v1.Secret{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: namespace, Namespace: namespace,
Name: name, Name: name,
}, },
...@@ -214,30 +214,30 @@ func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secre ...@@ -214,30 +214,30 @@ func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secre
framework.Failf("unable to create test secret %s: %v", secret.Name, err) framework.Failf("unable to create test secret %s: %v", secret.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-secrets-" + string(uuid.NewUUID()), Name: "pod-secrets-" + string(uuid.NewUUID()),
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
Secret: &api.SecretVolumeSource{ Secret: &v1.SecretVolumeSource{
SecretName: secretName, SecretName: secretName,
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "secret-volume-test", Name: "secret-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{ Args: []string{
"--file_content=/etc/secret-volume/data-1", "--file_content=/etc/secret-volume/data-1",
"--file_mode=/etc/secret-volume/data-1"}, "--file_mode=/etc/secret-volume/data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -245,7 +245,7 @@ func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secre ...@@ -245,7 +245,7 @@ func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secre
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
...@@ -279,18 +279,18 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) { ...@@ -279,18 +279,18 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) {
framework.Failf("unable to create test secret %s: %v", secret.Name, err) framework.Failf("unable to create test secret %s: %v", secret.Name, err)
} }
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-secrets-" + string(uuid.NewUUID()), Name: "pod-secrets-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
Secret: &api.SecretVolumeSource{ Secret: &v1.SecretVolumeSource{
SecretName: name, SecretName: name,
Items: []api.KeyToPath{ Items: []v1.KeyToPath{
{ {
Key: "data-1", Key: "data-1",
Path: "new-path-data-1", Path: "new-path-data-1",
...@@ -300,14 +300,14 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) { ...@@ -300,14 +300,14 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) {
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "secret-volume-test", Name: "secret-volume-test",
Image: "gcr.io/google_containers/mounttest:0.7", Image: "gcr.io/google_containers/mounttest:0.7",
Args: []string{ Args: []string{
"--file_content=/etc/secret-volume/new-path-data-1", "--file_content=/etc/secret-volume/new-path-data-1",
"--file_mode=/etc/secret-volume/new-path-data-1"}, "--file_mode=/etc/secret-volume/new-path-data-1"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -315,7 +315,7 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) { ...@@ -315,7 +315,7 @@ func doSecretE2EWithMapping(f *framework.Framework, mode *int32) {
}, },
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
......
...@@ -19,7 +19,7 @@ package common ...@@ -19,7 +19,7 @@ package common
import ( import (
"fmt" "fmt"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/events"
"k8s.io/kubernetes/pkg/kubelet/sysctl" "k8s.io/kubernetes/pkg/kubelet/sysctl"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
...@@ -34,29 +34,29 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -34,29 +34,29 @@ var _ = framework.KubeDescribe("Sysctls", func() {
f := framework.NewDefaultFramework("sysctl") f := framework.NewDefaultFramework("sysctl")
var podClient *framework.PodClient var podClient *framework.PodClient
testPod := func() *api.Pod { testPod := func() *v1.Pod {
podName := "sysctl-" + string(uuid.NewUUID()) podName := "sysctl-" + string(uuid.NewUUID())
pod := api.Pod{ pod := v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Annotations: map[string]string{}, Annotations: map[string]string{},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "test-container", Name: "test-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
}, },
} }
return &pod return &pod
} }
waitForPodErrorEventOrStarted := func(pod *api.Pod) (*api.Event, error) { waitForPodErrorEventOrStarted := func(pod *v1.Pod) (*v1.Event, error) {
var ev *api.Event var ev *v1.Event
err := wait.Poll(framework.Poll, framework.PodStartTimeout, func() (bool, error) { err := wait.Poll(framework.Poll, framework.PodStartTimeout, func() (bool, error) {
evnts, err := f.ClientSet.Core().Events(pod.Namespace).Search(pod) evnts, err := f.ClientSet.Core().Events(pod.Namespace).Search(pod)
if err != nil { if err != nil {
...@@ -82,7 +82,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -82,7 +82,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
It("should support sysctls", func() { It("should support sysctls", func() {
pod := testPod() pod := testPod()
pod.Annotations[api.SysctlsPodAnnotationKey] = api.PodAnnotationsFromSysctls([]api.Sysctl{ pod.Annotations[v1.SysctlsPodAnnotationKey] = v1.PodAnnotationsFromSysctls([]v1.Sysctl{
{ {
Name: "kernel.shm_rmid_forced", Name: "kernel.shm_rmid_forced",
Value: "1", Value: "1",
...@@ -111,7 +111,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -111,7 +111,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Checking that the pod succeeded") By("Checking that the pod succeeded")
Expect(pod.Status.Phase).To(Equal(api.PodSucceeded)) Expect(pod.Status.Phase).To(Equal(v1.PodSucceeded))
By("Getting logs from the pod") By("Getting logs from the pod")
log, err := framework.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name) log, err := framework.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name)
...@@ -123,7 +123,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -123,7 +123,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
It("should support unsafe sysctls which are actually whitelisted", func() { It("should support unsafe sysctls which are actually whitelisted", func() {
pod := testPod() pod := testPod()
pod.Annotations[api.UnsafeSysctlsPodAnnotationKey] = api.PodAnnotationsFromSysctls([]api.Sysctl{ pod.Annotations[v1.UnsafeSysctlsPodAnnotationKey] = v1.PodAnnotationsFromSysctls([]v1.Sysctl{
{ {
Name: "kernel.shm_rmid_forced", Name: "kernel.shm_rmid_forced",
Value: "1", Value: "1",
...@@ -152,7 +152,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -152,7 +152,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Checking that the pod succeeded") By("Checking that the pod succeeded")
Expect(pod.Status.Phase).To(Equal(api.PodSucceeded)) Expect(pod.Status.Phase).To(Equal(v1.PodSucceeded))
By("Getting logs from the pod") By("Getting logs from the pod")
log, err := framework.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name) log, err := framework.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name)
...@@ -164,7 +164,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -164,7 +164,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
It("should reject invalid sysctls", func() { It("should reject invalid sysctls", func() {
pod := testPod() pod := testPod()
pod.Annotations[api.SysctlsPodAnnotationKey] = api.PodAnnotationsFromSysctls([]api.Sysctl{ pod.Annotations[v1.SysctlsPodAnnotationKey] = v1.PodAnnotationsFromSysctls([]v1.Sysctl{
{ {
Name: "foo-", Name: "foo-",
Value: "bar", Value: "bar",
...@@ -178,7 +178,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -178,7 +178,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
Value: "100000000", Value: "100000000",
}, },
}) })
pod.Annotations[api.UnsafeSysctlsPodAnnotationKey] = api.PodAnnotationsFromSysctls([]api.Sysctl{ pod.Annotations[v1.UnsafeSysctlsPodAnnotationKey] = v1.PodAnnotationsFromSysctls([]v1.Sysctl{
{ {
Name: "kernel.shmall", Name: "kernel.shmall",
Value: "100000000", Value: "100000000",
...@@ -206,7 +206,7 @@ var _ = framework.KubeDescribe("Sysctls", func() { ...@@ -206,7 +206,7 @@ var _ = framework.KubeDescribe("Sysctls", func() {
It("should not launch unsafe, but not explicitly enabled sysctls on the node", func() { It("should not launch unsafe, but not explicitly enabled sysctls on the node", func() {
pod := testPod() pod := testPod()
pod.Annotations[api.SysctlsPodAnnotationKey] = api.PodAnnotationsFromSysctls([]api.Sysctl{ pod.Annotations[v1.SysctlsPodAnnotationKey] = v1.PodAnnotationsFromSysctls([]v1.Sysctl{
{ {
Name: "kernel.msgmax", Name: "kernel.msgmax",
Value: "10000000000", Value: "10000000000",
......
...@@ -47,10 +47,10 @@ import ( ...@@ -47,10 +47,10 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api"
apierrs "k8s.io/kubernetes/pkg/api/errors" apierrs "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"github.com/golang/glog" "github.com/golang/glog"
...@@ -79,31 +79,31 @@ type VolumeTestConfig struct { ...@@ -79,31 +79,31 @@ type VolumeTestConfig struct {
// Starts a container specified by config.serverImage and exports all // Starts a container specified by config.serverImage and exports all
// config.serverPorts from it. The returned pod should be used to get the server // config.serverPorts from it. The returned pod should be used to get the server
// IP address and create appropriate VolumeSource. // IP address and create appropriate VolumeSource.
func startVolumeServer(f *framework.Framework, config VolumeTestConfig) *api.Pod { func startVolumeServer(f *framework.Framework, config VolumeTestConfig) *v1.Pod {
podClient := f.PodClient() podClient := f.PodClient()
portCount := len(config.serverPorts) portCount := len(config.serverPorts)
serverPodPorts := make([]api.ContainerPort, portCount) serverPodPorts := make([]v1.ContainerPort, portCount)
for i := 0; i < portCount; i++ { for i := 0; i < portCount; i++ {
portName := fmt.Sprintf("%s-%d", config.prefix, i) portName := fmt.Sprintf("%s-%d", config.prefix, i)
serverPodPorts[i] = api.ContainerPort{ serverPodPorts[i] = v1.ContainerPort{
Name: portName, Name: portName,
ContainerPort: int32(config.serverPorts[i]), ContainerPort: int32(config.serverPorts[i]),
Protocol: api.ProtocolTCP, Protocol: v1.ProtocolTCP,
} }
} }
volumeCount := len(config.volumes) volumeCount := len(config.volumes)
volumes := make([]api.Volume, volumeCount) volumes := make([]v1.Volume, volumeCount)
mounts := make([]api.VolumeMount, volumeCount) mounts := make([]v1.VolumeMount, volumeCount)
i := 0 i := 0
for src, dst := range config.volumes { for src, dst := range config.volumes {
mountName := fmt.Sprintf("path%d", i) mountName := fmt.Sprintf("path%d", i)
volumes[i].Name = mountName volumes[i].Name = mountName
volumes[i].VolumeSource.HostPath = &api.HostPathVolumeSource{ volumes[i].VolumeSource.HostPath = &v1.HostPathVolumeSource{
Path: src, Path: src,
} }
...@@ -117,24 +117,24 @@ func startVolumeServer(f *framework.Framework, config VolumeTestConfig) *api.Pod ...@@ -117,24 +117,24 @@ func startVolumeServer(f *framework.Framework, config VolumeTestConfig) *api.Pod
By(fmt.Sprint("creating ", config.prefix, " server pod")) By(fmt.Sprint("creating ", config.prefix, " server pod"))
privileged := new(bool) privileged := new(bool)
*privileged = true *privileged = true
serverPod := &api.Pod{ serverPod := &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
APIVersion: "v1", APIVersion: "v1",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: config.prefix + "-server", Name: config.prefix + "-server",
Labels: map[string]string{ Labels: map[string]string{
"role": config.prefix + "-server", "role": config.prefix + "-server",
}, },
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: config.prefix + "-server", Name: config.prefix + "-server",
Image: config.serverImage, Image: config.serverImage,
SecurityContext: &api.SecurityContext{ SecurityContext: &v1.SecurityContext{
Privileged: privileged, Privileged: privileged,
}, },
Args: config.serverArgs, Args: config.serverArgs,
...@@ -191,21 +191,21 @@ func volumeTestCleanup(f *framework.Framework, config VolumeTestConfig) { ...@@ -191,21 +191,21 @@ func volumeTestCleanup(f *framework.Framework, config VolumeTestConfig) {
// Start a client pod using given VolumeSource (exported by startVolumeServer()) // Start a client pod using given VolumeSource (exported by startVolumeServer())
// and check that the pod sees the data from the server pod. // and check that the pod sees the data from the server pod.
func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume api.VolumeSource, fsGroup *int64, expectedContent string) { func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume v1.VolumeSource, fsGroup *int64, expectedContent string) {
By(fmt.Sprint("starting ", config.prefix, " client")) By(fmt.Sprint("starting ", config.prefix, " client"))
clientPod := &api.Pod{ clientPod := &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
APIVersion: "v1", APIVersion: "v1",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: config.prefix + "-client", Name: config.prefix + "-client",
Labels: map[string]string{ Labels: map[string]string{
"role": config.prefix + "-client", "role": config.prefix + "-client",
}, },
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: config.prefix + "-client", Name: config.prefix + "-client",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
...@@ -218,7 +218,7 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap ...@@ -218,7 +218,7 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap
"-c", "-c",
"while true ; do cat /opt/index.html ; sleep 2 ; ls -altrh /opt/ ; sleep 2 ; done ", "while true ; do cat /opt/index.html ; sleep 2 ; ls -altrh /opt/ ; sleep 2 ; done ",
}, },
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: config.prefix + "-volume", Name: config.prefix + "-volume",
MountPath: "/opt/", MountPath: "/opt/",
...@@ -226,12 +226,12 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap ...@@ -226,12 +226,12 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap
}, },
}, },
}, },
SecurityContext: &api.PodSecurityContext{ SecurityContext: &v1.PodSecurityContext{
SELinuxOptions: &api.SELinuxOptions{ SELinuxOptions: &v1.SELinuxOptions{
Level: "s0:c0,c1", Level: "s0:c0,c1",
}, },
}, },
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: config.prefix + "-volume", Name: config.prefix + "-volume",
VolumeSource: volume, VolumeSource: volume,
...@@ -265,29 +265,29 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap ...@@ -265,29 +265,29 @@ func testVolumeClient(f *framework.Framework, config VolumeTestConfig, volume ap
// Insert index.html with given content into given volume. It does so by // Insert index.html with given content into given volume. It does so by
// starting and auxiliary pod which writes the file there. // starting and auxiliary pod which writes the file there.
// The volume must be writable. // The volume must be writable.
func injectHtml(client clientset.Interface, config VolumeTestConfig, volume api.VolumeSource, content string) { func injectHtml(client clientset.Interface, config VolumeTestConfig, volume v1.VolumeSource, content string) {
By(fmt.Sprint("starting ", config.prefix, " injector")) By(fmt.Sprint("starting ", config.prefix, " injector"))
podClient := client.Core().Pods(config.namespace) podClient := client.Core().Pods(config.namespace)
injectPod := &api.Pod{ injectPod := &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
APIVersion: "v1", APIVersion: "v1",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: config.prefix + "-injector", Name: config.prefix + "-injector",
Labels: map[string]string{ Labels: map[string]string{
"role": config.prefix + "-injector", "role": config.prefix + "-injector",
}, },
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: config.prefix + "-injector", Name: config.prefix + "-injector",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"/bin/sh"}, Command: []string{"/bin/sh"},
Args: []string{"-c", "echo '" + content + "' > /mnt/index.html && chmod o+rX /mnt /mnt/index.html"}, Args: []string{"-c", "echo '" + content + "' > /mnt/index.html && chmod o+rX /mnt /mnt/index.html"},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: config.prefix + "-volume", Name: config.prefix + "-volume",
MountPath: "/mnt", MountPath: "/mnt",
...@@ -295,13 +295,13 @@ func injectHtml(client clientset.Interface, config VolumeTestConfig, volume api. ...@@ -295,13 +295,13 @@ func injectHtml(client clientset.Interface, config VolumeTestConfig, volume api.
}, },
}, },
}, },
SecurityContext: &api.PodSecurityContext{ SecurityContext: &v1.PodSecurityContext{
SELinuxOptions: &api.SELinuxOptions{ SELinuxOptions: &v1.SELinuxOptions{
Level: "s0:c0,c1", Level: "s0:c0,c1",
}, },
}, },
RestartPolicy: api.RestartPolicyNever, RestartPolicy: v1.RestartPolicyNever,
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: config.prefix + "-volume", Name: config.prefix + "-volume",
VolumeSource: volume, VolumeSource: volume,
...@@ -350,7 +350,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -350,7 +350,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
// note that namespace deletion is handled by delete-namespace flag // note that namespace deletion is handled by delete-namespace flag
clean := true clean := true
// filled in BeforeEach // filled in BeforeEach
var namespace *api.Namespace var namespace *v1.Namespace
BeforeEach(func() { BeforeEach(func() {
if !isTestEnabled(f.ClientSet) { if !isTestEnabled(f.ClientSet) {
...@@ -381,8 +381,8 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -381,8 +381,8 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
serverIP := pod.Status.PodIP serverIP := pod.Status.PodIP
framework.Logf("NFS server IP address: %v", serverIP) framework.Logf("NFS server IP address: %v", serverIP)
volume := api.VolumeSource{ volume := v1.VolumeSource{
NFS: &api.NFSVolumeSource{ NFS: &v1.NFSVolumeSource{
Server: serverIP, Server: serverIP,
Path: "/", Path: "/",
ReadOnly: true, ReadOnly: true,
...@@ -416,26 +416,26 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -416,26 +416,26 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
framework.Logf("Gluster server IP address: %v", serverIP) framework.Logf("Gluster server IP address: %v", serverIP)
// create Endpoints for the server // create Endpoints for the server
endpoints := api.Endpoints{ endpoints := v1.Endpoints{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Endpoints", Kind: "Endpoints",
APIVersion: "v1", APIVersion: "v1",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: config.prefix + "-server", Name: config.prefix + "-server",
}, },
Subsets: []api.EndpointSubset{ Subsets: []v1.EndpointSubset{
{ {
Addresses: []api.EndpointAddress{ Addresses: []v1.EndpointAddress{
{ {
IP: serverIP, IP: serverIP,
}, },
}, },
Ports: []api.EndpointPort{ Ports: []v1.EndpointPort{
{ {
Name: "gluster", Name: "gluster",
Port: 24007, Port: 24007,
Protocol: api.ProtocolTCP, Protocol: v1.ProtocolTCP,
}, },
}, },
}, },
...@@ -454,8 +454,8 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -454,8 +454,8 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
framework.Failf("Failed to create endpoints for Gluster server: %v", err) framework.Failf("Failed to create endpoints for Gluster server: %v", err)
} }
volume := api.VolumeSource{ volume := v1.VolumeSource{
Glusterfs: &api.GlusterfsVolumeSource{ Glusterfs: &v1.GlusterfsVolumeSource{
EndpointsName: config.prefix + "-server", EndpointsName: config.prefix + "-server",
// 'test_vol' comes from test/images/volumes-tester/gluster/run_gluster.sh // 'test_vol' comes from test/images/volumes-tester/gluster/run_gluster.sh
Path: "test_vol", Path: "test_vol",
......
...@@ -23,10 +23,11 @@ import ( ...@@ -23,10 +23,11 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/controller/job" "k8s.io/kubernetes/pkg/controller/job"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -62,7 +63,7 @@ var _ = framework.KubeDescribe("CronJob", func() { ...@@ -62,7 +63,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Ensuring at least two running jobs exists by listing jobs explicitly") By("Ensuring at least two running jobs exists by listing jobs explicitly")
jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(api.ListOptions{}) jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(v1.ListOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
activeJobs := filterActiveJobs(jobs) activeJobs := filterActiveJobs(jobs)
Expect(len(activeJobs) >= 2).To(BeTrue()) Expect(len(activeJobs) >= 2).To(BeTrue())
...@@ -85,7 +86,7 @@ var _ = framework.KubeDescribe("CronJob", func() { ...@@ -85,7 +86,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
Expect(err).To(HaveOccurred()) Expect(err).To(HaveOccurred())
By("Ensuring no job exists by listing jobs explicitly") By("Ensuring no job exists by listing jobs explicitly")
jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(api.ListOptions{}) jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(v1.ListOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
Expect(jobs.Items).To(HaveLen(0)) Expect(jobs.Items).To(HaveLen(0))
...@@ -111,7 +112,7 @@ var _ = framework.KubeDescribe("CronJob", func() { ...@@ -111,7 +112,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
Expect(cronJob.Status.Active).Should(HaveLen(1)) Expect(cronJob.Status.Active).Should(HaveLen(1))
By("Ensuring exaclty one running job exists by listing jobs explicitly") By("Ensuring exaclty one running job exists by listing jobs explicitly")
jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(api.ListOptions{}) jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(v1.ListOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
activeJobs := filterActiveJobs(jobs) activeJobs := filterActiveJobs(jobs)
Expect(activeJobs).To(HaveLen(1)) Expect(activeJobs).To(HaveLen(1))
...@@ -142,7 +143,7 @@ var _ = framework.KubeDescribe("CronJob", func() { ...@@ -142,7 +143,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
Expect(cronJob.Status.Active).Should(HaveLen(1)) Expect(cronJob.Status.Active).Should(HaveLen(1))
By("Ensuring exaclty one running job exists by listing jobs explicitly") By("Ensuring exaclty one running job exists by listing jobs explicitly")
jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(api.ListOptions{}) jobs, err := f.ClientSet.Batch().Jobs(f.Namespace.Name).List(v1.ListOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
activeJobs := filterActiveJobs(jobs) activeJobs := filterActiveJobs(jobs)
Expect(activeJobs).To(HaveLen(1)) Expect(activeJobs).To(HaveLen(1))
...@@ -184,7 +185,7 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo ...@@ -184,7 +185,7 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo
parallelism := int32(1) parallelism := int32(1)
completions := int32(1) completions := int32(1)
sj := &batch.CronJob{ sj := &batch.CronJob{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
}, },
Spec: batch.CronJobSpec{ Spec: batch.CronJobSpec{
...@@ -194,22 +195,22 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo ...@@ -194,22 +195,22 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo
Spec: batch.JobSpec{ Spec: batch.JobSpec{
Parallelism: &parallelism, Parallelism: &parallelism,
Completions: &completions, Completions: &completions,
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
Spec: api.PodSpec{ Spec: v1.PodSpec{
RestartPolicy: api.RestartPolicyOnFailure, RestartPolicy: v1.RestartPolicyOnFailure,
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: "data", Name: "data",
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
EmptyDir: &api.EmptyDirVolumeSource{}, EmptyDir: &v1.EmptyDirVolumeSource{},
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "c", Name: "c",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
MountPath: "/data", MountPath: "/data",
Name: "data", Name: "data",
...@@ -230,21 +231,21 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo ...@@ -230,21 +231,21 @@ func newTestCronJob(name, schedule string, concurrencyPolicy batch.ConcurrencyPo
} }
func createCronJob(c clientset.Interface, ns string, cronJob *batch.CronJob) (*batch.CronJob, error) { func createCronJob(c clientset.Interface, ns string, cronJob *batch.CronJob) (*batch.CronJob, error) {
return c.Batch().CronJobs(ns).Create(cronJob) return c.BatchV2alpha1().CronJobs(ns).Create(cronJob)
} }
func getCronJob(c clientset.Interface, ns, name string) (*batch.CronJob, error) { func getCronJob(c clientset.Interface, ns, name string) (*batch.CronJob, error) {
return c.Batch().CronJobs(ns).Get(name) return c.BatchV2alpha1().CronJobs(ns).Get(name)
} }
func deleteCronJob(c clientset.Interface, ns, name string) error { func deleteCronJob(c clientset.Interface, ns, name string) error {
return c.Batch().CronJobs(ns).Delete(name, nil) return c.BatchV2alpha1().CronJobs(ns).Delete(name, nil)
} }
// Wait for at least given amount of active jobs. // Wait for at least given amount of active jobs.
func waitForActiveJobs(c clientset.Interface, ns, cronJobName string, active int) error { func waitForActiveJobs(c clientset.Interface, ns, cronJobName string, active int) error {
return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) {
curr, err := c.Batch().CronJobs(ns).Get(cronJobName) curr, err := c.BatchV2alpha1().CronJobs(ns).Get(cronJobName)
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -255,7 +256,7 @@ func waitForActiveJobs(c clientset.Interface, ns, cronJobName string, active int ...@@ -255,7 +256,7 @@ func waitForActiveJobs(c clientset.Interface, ns, cronJobName string, active int
// Wait for no jobs to appear. // Wait for no jobs to appear.
func waitForNoJobs(c clientset.Interface, ns, jobName string) error { func waitForNoJobs(c clientset.Interface, ns, jobName string) error {
return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) {
curr, err := c.Batch().CronJobs(ns).Get(jobName) curr, err := c.BatchV2alpha1().CronJobs(ns).Get(jobName)
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -267,7 +268,7 @@ func waitForNoJobs(c clientset.Interface, ns, jobName string) error { ...@@ -267,7 +268,7 @@ func waitForNoJobs(c clientset.Interface, ns, jobName string) error {
// Wait for a job to be replaced with a new one. // Wait for a job to be replaced with a new one.
func waitForJobReplaced(c clientset.Interface, ns, previousJobName string) error { func waitForJobReplaced(c clientset.Interface, ns, previousJobName string) error {
return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) {
jobs, err := c.Batch().Jobs(ns).List(api.ListOptions{}) jobs, err := c.Batch().Jobs(ns).List(v1.ListOptions{})
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -284,7 +285,7 @@ func waitForJobReplaced(c clientset.Interface, ns, previousJobName string) error ...@@ -284,7 +285,7 @@ func waitForJobReplaced(c clientset.Interface, ns, previousJobName string) error
// waitForJobsAtLeast waits for at least a number of jobs to appear. // waitForJobsAtLeast waits for at least a number of jobs to appear.
func waitForJobsAtLeast(c clientset.Interface, ns string, atLeast int) error { func waitForJobsAtLeast(c clientset.Interface, ns string, atLeast int) error {
return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) {
jobs, err := c.Batch().Jobs(ns).List(api.ListOptions{}) jobs, err := c.Batch().Jobs(ns).List(v1.ListOptions{})
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -295,7 +296,7 @@ func waitForJobsAtLeast(c clientset.Interface, ns string, atLeast int) error { ...@@ -295,7 +296,7 @@ func waitForJobsAtLeast(c clientset.Interface, ns string, atLeast int) error {
// waitForAnyFinishedJob waits for any completed job to appear. // waitForAnyFinishedJob waits for any completed job to appear.
func waitForAnyFinishedJob(c clientset.Interface, ns string) error { func waitForAnyFinishedJob(c clientset.Interface, ns string) error {
return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) { return wait.Poll(framework.Poll, cronJobTimeout, func() (bool, error) {
jobs, err := c.Batch().Jobs(ns).List(api.ListOptions{}) jobs, err := c.Batch().Jobs(ns).List(v1.ListOptions{})
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -311,7 +312,7 @@ func waitForAnyFinishedJob(c clientset.Interface, ns string) error { ...@@ -311,7 +312,7 @@ func waitForAnyFinishedJob(c clientset.Interface, ns string) error {
// checkNoUnexpectedEvents checks unexpected events didn't happen. // checkNoUnexpectedEvents checks unexpected events didn't happen.
// Currently only "UnexpectedJob" is checked. // Currently only "UnexpectedJob" is checked.
func checkNoUnexpectedEvents(c clientset.Interface, ns, cronJobName string) error { func checkNoUnexpectedEvents(c clientset.Interface, ns, cronJobName string) error {
sj, err := c.Batch().CronJobs(ns).Get(cronJobName) sj, err := c.BatchV2alpha1().CronJobs(ns).Get(cronJobName)
if err != nil { if err != nil {
return fmt.Errorf("error in getting cronjob %s/%s: %v", ns, cronJobName, err) return fmt.Errorf("error in getting cronjob %s/%s: %v", ns, cronJobName, err)
} }
...@@ -327,7 +328,7 @@ func checkNoUnexpectedEvents(c clientset.Interface, ns, cronJobName string) erro ...@@ -327,7 +328,7 @@ func checkNoUnexpectedEvents(c clientset.Interface, ns, cronJobName string) erro
return nil return nil
} }
func filterActiveJobs(jobs *batch.JobList) (active []*batch.Job) { func filterActiveJobs(jobs *batchv1.JobList) (active []*batchv1.Job) {
for i := range jobs.Items { for i := range jobs.Items {
j := jobs.Items[i] j := jobs.Items[i]
if !job.IsJobFinished(&j) { if !job.IsJobFinished(&j) {
......
...@@ -21,9 +21,9 @@ import ( ...@@ -21,9 +21,9 @@ import (
"strconv" "strconv"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/cache"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/master/ports"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
...@@ -134,8 +134,8 @@ type podTracker struct { ...@@ -134,8 +134,8 @@ type podTracker struct {
cache.ThreadSafeStore cache.ThreadSafeStore
} }
func (p *podTracker) remember(pod *api.Pod, eventType string) { func (p *podTracker) remember(pod *v1.Pod, eventType string) {
if eventType == UPDATE && pod.Status.Phase == api.PodRunning { if eventType == UPDATE && pod.Status.Phase == v1.PodRunning {
return return
} }
p.Add(fmt.Sprintf("[%v] %v: %v", time.Now(), eventType, pod.Name), pod) p.Add(fmt.Sprintf("[%v] %v: %v", time.Now(), eventType, pod.Name), pod)
...@@ -147,7 +147,7 @@ func (p *podTracker) String() (msg string) { ...@@ -147,7 +147,7 @@ func (p *podTracker) String() (msg string) {
if !exists { if !exists {
continue continue
} }
pod := obj.(*api.Pod) pod := obj.(*v1.Pod)
msg += fmt.Sprintf("%v Phase %v Host %v\n", k, pod.Status.Phase, pod.Spec.NodeName) msg += fmt.Sprintf("%v Phase %v Host %v\n", k, pod.Status.Phase, pod.Spec.NodeName)
} }
return return
...@@ -159,7 +159,7 @@ func newPodTracker() *podTracker { ...@@ -159,7 +159,7 @@ func newPodTracker() *podTracker {
} }
// replacePods replaces content of the store with the given pods. // replacePods replaces content of the store with the given pods.
func replacePods(pods []*api.Pod, store cache.Store) { func replacePods(pods []*v1.Pod, store cache.Store) {
found := make([]interface{}, 0, len(pods)) found := make([]interface{}, 0, len(pods))
for i := range pods { for i := range pods {
found = append(found, pods[i]) found = append(found, pods[i])
...@@ -170,7 +170,7 @@ func replacePods(pods []*api.Pod, store cache.Store) { ...@@ -170,7 +170,7 @@ func replacePods(pods []*api.Pod, store cache.Store) {
// getContainerRestarts returns the count of container restarts across all pods matching the given labelSelector, // getContainerRestarts returns the count of container restarts across all pods matching the given labelSelector,
// and a list of nodenames across which these containers restarted. // and a list of nodenames across which these containers restarted.
func getContainerRestarts(c clientset.Interface, ns string, labelSelector labels.Selector) (int, []string) { func getContainerRestarts(c clientset.Interface, ns string, labelSelector labels.Selector) (int, []string) {
options := api.ListOptions{LabelSelector: labelSelector} options := v1.ListOptions{LabelSelector: labelSelector.String()}
pods, err := c.Core().Pods(ns).List(options) pods, err := c.Core().Pods(ns).List(options)
framework.ExpectNoError(err) framework.ExpectNoError(err)
failedContainers := 0 failedContainers := 0
...@@ -206,11 +206,12 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() { ...@@ -206,11 +206,12 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() {
// Additionally some of them might scale the rc during the test. // Additionally some of them might scale the rc during the test.
config = testutils.RCConfig{ config = testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
InternalClient: f.InternalClientset,
Name: rcName, Name: rcName,
Namespace: ns, Namespace: ns,
Image: framework.GetPauseImageName(f.ClientSet), Image: framework.GetPauseImageName(f.ClientSet),
Replicas: numPods, Replicas: numPods,
CreatedPods: &[]*api.Pod{}, CreatedPods: &[]*v1.Pod{},
} }
Expect(framework.RunRC(config)).NotTo(HaveOccurred()) Expect(framework.RunRC(config)).NotTo(HaveOccurred())
replacePods(*config.CreatedPods, existingPods) replacePods(*config.CreatedPods, existingPods)
...@@ -219,27 +220,27 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() { ...@@ -219,27 +220,27 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() {
tracker = newPodTracker() tracker = newPodTracker()
newPods, controller = cache.NewInformer( newPods, controller = cache.NewInformer(
&cache.ListWatch{ &cache.ListWatch{
ListFunc: func(options api.ListOptions) (runtime.Object, error) { ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
options.LabelSelector = labelSelector options.LabelSelector = labelSelector.String()
obj, err := f.ClientSet.Core().Pods(ns).List(options) obj, err := f.ClientSet.Core().Pods(ns).List(options)
return runtime.Object(obj), err return runtime.Object(obj), err
}, },
WatchFunc: func(options api.ListOptions) (watch.Interface, error) { WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
options.LabelSelector = labelSelector options.LabelSelector = labelSelector.String()
return f.ClientSet.Core().Pods(ns).Watch(options) return f.ClientSet.Core().Pods(ns).Watch(options)
}, },
}, },
&api.Pod{}, &v1.Pod{},
0, 0,
cache.ResourceEventHandlerFuncs{ cache.ResourceEventHandlerFuncs{
AddFunc: func(obj interface{}) { AddFunc: func(obj interface{}) {
tracker.remember(obj.(*api.Pod), ADD) tracker.remember(obj.(*v1.Pod), ADD)
}, },
UpdateFunc: func(oldObj, newObj interface{}) { UpdateFunc: func(oldObj, newObj interface{}) {
tracker.remember(newObj.(*api.Pod), UPDATE) tracker.remember(newObj.(*v1.Pod), UPDATE)
}, },
DeleteFunc: func(obj interface{}) { DeleteFunc: func(obj interface{}) {
tracker.remember(obj.(*api.Pod), DEL) tracker.remember(obj.(*v1.Pod), DEL)
}, },
}, },
) )
...@@ -263,7 +264,7 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() { ...@@ -263,7 +264,7 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() {
// that it had the opportunity to create/delete pods, if it were going to do so. Scaling the RC // that it had the opportunity to create/delete pods, if it were going to do so. Scaling the RC
// to the same size achieves this, because the scale operation advances the RC's sequence number // to the same size achieves this, because the scale operation advances the RC's sequence number
// and awaits it to be observed and reported back in the RC's status. // and awaits it to be observed and reported back in the RC's status.
framework.ScaleRC(f.ClientSet, ns, rcName, numPods, true) framework.ScaleRC(f.ClientSet, f.InternalClientset, ns, rcName, numPods, true)
// Only check the keys, the pods can be different if the kubelet updated it. // Only check the keys, the pods can be different if the kubelet updated it.
// TODO: Can it really? // TODO: Can it really?
...@@ -294,9 +295,9 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() { ...@@ -294,9 +295,9 @@ var _ = framework.KubeDescribe("DaemonRestart [Disruptive]", func() {
restarter.kill() restarter.kill()
// This is best effort to try and create pods while the scheduler is down, // This is best effort to try and create pods while the scheduler is down,
// since we don't know exactly when it is restarted after the kill signal. // since we don't know exactly when it is restarted after the kill signal.
framework.ExpectNoError(framework.ScaleRC(f.ClientSet, ns, rcName, numPods+5, false)) framework.ExpectNoError(framework.ScaleRC(f.ClientSet, f.InternalClientset, ns, rcName, numPods+5, false))
restarter.waitUp() restarter.waitUp()
framework.ExpectNoError(framework.ScaleRC(f.ClientSet, ns, rcName, numPods+5, true)) framework.ExpectNoError(framework.ScaleRC(f.ClientSet, f.InternalClientset, ns, rcName, numPods+5, true))
}) })
It("Kubelet should not restart containers across restart", func() { It("Kubelet should not restart containers across restart", func() {
......
...@@ -25,9 +25,11 @@ import ( ...@@ -25,9 +25,11 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
apierrs "k8s.io/kubernetes/pkg/api/errors" apierrs "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apis/extensions" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
...@@ -58,12 +60,12 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -58,12 +60,12 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
var f *framework.Framework var f *framework.Framework
AfterEach(func() { AfterEach(func() {
if daemonsets, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).List(api.ListOptions{}); err == nil { if daemonsets, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).List(v1.ListOptions{}); err == nil {
framework.Logf("daemonset: %s", runtime.EncodeOrDie(api.Codecs.LegacyCodec(registered.EnabledVersions()...), daemonsets)) framework.Logf("daemonset: %s", runtime.EncodeOrDie(api.Codecs.LegacyCodec(registered.EnabledVersions()...), daemonsets))
} else { } else {
framework.Logf("unable to dump daemonsets: %v", err) framework.Logf("unable to dump daemonsets: %v", err)
} }
if pods, err := f.ClientSet.Core().Pods(f.Namespace.Name).List(api.ListOptions{}); err == nil { if pods, err := f.ClientSet.Core().Pods(f.Namespace.Name).List(v1.ListOptions{}); err == nil {
framework.Logf("pods: %s", runtime.EncodeOrDie(api.Codecs.LegacyCodec(registered.EnabledVersions()...), pods)) framework.Logf("pods: %s", runtime.EncodeOrDie(api.Codecs.LegacyCodec(registered.EnabledVersions()...), pods))
} else { } else {
framework.Logf("unable to dump pods: %v", err) framework.Logf("unable to dump pods: %v", err)
...@@ -93,20 +95,20 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -93,20 +95,20 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
framework.Logf("Creating simple daemon set %s", dsName) framework.Logf("Creating simple daemon set %s", dsName)
_, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{ _, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: dsName, Name: dsName,
}, },
Spec: extensions.DaemonSetSpec{ Spec: extensions.DaemonSetSpec{
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: label, Labels: label,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: dsName, Name: dsName,
Image: image, Image: image,
Ports: []api.ContainerPort{{ContainerPort: 9376}}, Ports: []v1.ContainerPort{{ContainerPort: 9376}},
}, },
}, },
}, },
...@@ -116,7 +118,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -116,7 +118,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
defer func() { defer func() {
framework.Logf("Check that reaper kills all daemon pods for %s", dsName) framework.Logf("Check that reaper kills all daemon pods for %s", dsName)
dsReaper, err := kubectl.ReaperFor(extensions.Kind("DaemonSet"), f.ClientSet) dsReaper, err := kubectl.ReaperFor(extensionsinternal.Kind("DaemonSet"), f.InternalClientset)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
err = dsReaper.Stop(ns, dsName, 0, nil) err = dsReaper.Stop(ns, dsName, 0, nil)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -135,7 +137,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -135,7 +137,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
podClient := c.Core().Pods(ns) podClient := c.Core().Pods(ns)
selector := labels.Set(label).AsSelector() selector := labels.Set(label).AsSelector()
options := api.ListOptions{LabelSelector: selector} options := v1.ListOptions{LabelSelector: selector.String()}
podList, err := podClient.List(options) podList, err := podClient.List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
Expect(len(podList.Items)).To(BeNumerically(">", 0)) Expect(len(podList.Items)).To(BeNumerically(">", 0))
...@@ -152,22 +154,22 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -152,22 +154,22 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
nodeSelector := map[string]string{daemonsetColorLabel: "blue"} nodeSelector := map[string]string{daemonsetColorLabel: "blue"}
framework.Logf("Creating daemon with a node selector %s", dsName) framework.Logf("Creating daemon with a node selector %s", dsName)
_, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{ _, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: dsName, Name: dsName,
}, },
Spec: extensions.DaemonSetSpec{ Spec: extensions.DaemonSetSpec{
Selector: &unversioned.LabelSelector{MatchLabels: complexLabel}, Selector: &unversioned.LabelSelector{MatchLabels: complexLabel},
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: complexLabel, Labels: complexLabel,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
NodeSelector: nodeSelector, NodeSelector: nodeSelector,
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: dsName, Name: dsName,
Image: image, Image: image,
Ports: []api.ContainerPort{{ContainerPort: 9376}}, Ports: []v1.ContainerPort{{ContainerPort: 9376}},
}, },
}, },
}, },
...@@ -208,7 +210,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -208,7 +210,7 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
nodeSelector := map[string]string{daemonsetColorLabel: "blue"} nodeSelector := map[string]string{daemonsetColorLabel: "blue"}
framework.Logf("Creating daemon with a node affinity %s", dsName) framework.Logf("Creating daemon with a node affinity %s", dsName)
affinity := map[string]string{ affinity := map[string]string{
api.AffinityAnnotationKey: fmt.Sprintf(` v1.AffinityAnnotationKey: fmt.Sprintf(`
{"nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { {"nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [{ "nodeSelectorTerms": [{
"matchExpressions": [{ "matchExpressions": [{
...@@ -220,22 +222,22 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() { ...@@ -220,22 +222,22 @@ var _ = framework.KubeDescribe("Daemon set [Serial]", func() {
}}}`, daemonsetColorLabel, nodeSelector[daemonsetColorLabel]), }}}`, daemonsetColorLabel, nodeSelector[daemonsetColorLabel]),
} }
_, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{ _, err := c.Extensions().DaemonSets(ns).Create(&extensions.DaemonSet{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: dsName, Name: dsName,
}, },
Spec: extensions.DaemonSetSpec{ Spec: extensions.DaemonSetSpec{
Selector: &unversioned.LabelSelector{MatchLabels: complexLabel}, Selector: &unversioned.LabelSelector{MatchLabels: complexLabel},
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: complexLabel, Labels: complexLabel,
Annotations: affinity, Annotations: affinity,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: dsName, Name: dsName,
Image: image, Image: image,
Ports: []api.ContainerPort{{ContainerPort: 9376}}, Ports: []v1.ContainerPort{{ContainerPort: 9376}},
}, },
}, },
}, },
...@@ -296,9 +298,9 @@ func clearDaemonSetNodeLabels(c clientset.Interface) error { ...@@ -296,9 +298,9 @@ func clearDaemonSetNodeLabels(c clientset.Interface) error {
return nil return nil
} }
func setDaemonSetNodeLabels(c clientset.Interface, nodeName string, labels map[string]string) (*api.Node, error) { func setDaemonSetNodeLabels(c clientset.Interface, nodeName string, labels map[string]string) (*v1.Node, error) {
nodeClient := c.Core().Nodes() nodeClient := c.Core().Nodes()
var newNode *api.Node var newNode *v1.Node
var newLabels map[string]string var newLabels map[string]string
err := wait.Poll(dsRetryPeriod, dsRetryTimeout, func() (bool, error) { err := wait.Poll(dsRetryPeriod, dsRetryTimeout, func() (bool, error) {
node, err := nodeClient.Get(nodeName) node, err := nodeClient.Get(nodeName)
...@@ -339,7 +341,7 @@ func setDaemonSetNodeLabels(c clientset.Interface, nodeName string, labels map[s ...@@ -339,7 +341,7 @@ func setDaemonSetNodeLabels(c clientset.Interface, nodeName string, labels map[s
func checkDaemonPodOnNodes(f *framework.Framework, selector map[string]string, nodeNames []string) func() (bool, error) { func checkDaemonPodOnNodes(f *framework.Framework, selector map[string]string, nodeNames []string) func() (bool, error) {
return func() (bool, error) { return func() (bool, error) {
selector := labels.Set(selector).AsSelector() selector := labels.Set(selector).AsSelector()
options := api.ListOptions{LabelSelector: selector} options := v1.ListOptions{LabelSelector: selector.String()}
podList, err := f.ClientSet.Core().Pods(f.Namespace.Name).List(options) podList, err := f.ClientSet.Core().Pods(f.Namespace.Name).List(options)
if err != nil { if err != nil {
return false, nil return false, nil
...@@ -368,7 +370,7 @@ func checkDaemonPodOnNodes(f *framework.Framework, selector map[string]string, n ...@@ -368,7 +370,7 @@ func checkDaemonPodOnNodes(f *framework.Framework, selector map[string]string, n
func checkRunningOnAllNodes(f *framework.Framework, selector map[string]string) func() (bool, error) { func checkRunningOnAllNodes(f *framework.Framework, selector map[string]string) func() (bool, error) {
return func() (bool, error) { return func() (bool, error) {
nodeList, err := f.ClientSet.Core().Nodes().List(api.ListOptions{}) nodeList, err := f.ClientSet.Core().Nodes().List(v1.ListOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
nodeNames := make([]string, 0) nodeNames := make([]string, 0)
for _, node := range nodeList.Items { for _, node := range nodeList.Items {
...@@ -385,7 +387,7 @@ func checkRunningOnNoNodes(f *framework.Framework, selector map[string]string) f ...@@ -385,7 +387,7 @@ func checkRunningOnNoNodes(f *framework.Framework, selector map[string]string) f
func checkDaemonStatus(f *framework.Framework, dsName string) error { func checkDaemonStatus(f *framework.Framework, dsName string) error {
ds, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).Get(dsName) ds, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).Get(dsName)
if err != nil { if err != nil {
return fmt.Errorf("Could not get daemon set from api.") return fmt.Errorf("Could not get daemon set from v1.")
} }
desired, scheduled, ready := ds.Status.DesiredNumberScheduled, ds.Status.CurrentNumberScheduled, ds.Status.NumberReady desired, scheduled, ready := ds.Status.DesiredNumberScheduled, ds.Status.CurrentNumberScheduled, ds.Status.NumberReady
if desired != scheduled && desired != ready { if desired != scheduled && desired != ready {
......
...@@ -28,8 +28,10 @@ import ( ...@@ -28,8 +28,10 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
...@@ -55,7 +57,8 @@ var MaxContainerFailures = 0 ...@@ -55,7 +57,8 @@ var MaxContainerFailures = 0
type DensityTestConfig struct { type DensityTestConfig struct {
Configs []testutils.RCConfig Configs []testutils.RCConfig
ClientSet internalclientset.Interface ClientSet clientset.Interface
InternalClientset internalclientset.Interface
PollInterval time.Duration PollInterval time.Duration
PodCount int PodCount int
} }
...@@ -159,9 +162,9 @@ func density30AddonResourceVerifier(numNodes int) map[string]framework.ResourceC ...@@ -159,9 +162,9 @@ func density30AddonResourceVerifier(numNodes int) map[string]framework.ResourceC
return constraints return constraints
} }
func logPodStartupStatus(c internalclientset.Interface, expectedPods int, observedLabels map[string]string, period time.Duration, stopCh chan struct{}) { func logPodStartupStatus(c clientset.Interface, expectedPods int, observedLabels map[string]string, period time.Duration, stopCh chan struct{}) {
label := labels.SelectorFromSet(labels.Set(observedLabels)) label := labels.SelectorFromSet(labels.Set(observedLabels))
podStore := testutils.NewPodStore(c, api.NamespaceAll, label, fields.Everything()) podStore := testutils.NewPodStore(c, v1.NamespaceAll, label, fields.Everything())
defer podStore.Stop() defer podStore.Stop()
ticker := time.NewTicker(period) ticker := time.NewTicker(period)
defer ticker.Stop() defer ticker.Stop()
...@@ -209,7 +212,7 @@ func runDensityTest(dtc DensityTestConfig) time.Duration { ...@@ -209,7 +212,7 @@ func runDensityTest(dtc DensityTestConfig) time.Duration {
// Print some data about Pod to Node allocation // Print some data about Pod to Node allocation
By("Printing Pod to Node allocation data") By("Printing Pod to Node allocation data")
podList, err := dtc.ClientSet.Core().Pods(api.NamespaceAll).List(api.ListOptions{}) podList, err := dtc.ClientSet.Core().Pods(v1.NamespaceAll).List(v1.ListOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
pausePodAllocation := make(map[string]int) pausePodAllocation := make(map[string]int)
systemPodAllocation := make(map[string][]string) systemPodAllocation := make(map[string][]string)
...@@ -238,14 +241,14 @@ func cleanupDensityTest(dtc DensityTestConfig) { ...@@ -238,14 +241,14 @@ func cleanupDensityTest(dtc DensityTestConfig) {
for i := range dtc.Configs { for i := range dtc.Configs {
rcName := dtc.Configs[i].Name rcName := dtc.Configs[i].Name
rc, err := dtc.ClientSet.Core().ReplicationControllers(dtc.Configs[i].Namespace).Get(rcName) rc, err := dtc.ClientSet.Core().ReplicationControllers(dtc.Configs[i].Namespace).Get(rcName)
if err == nil && rc.Spec.Replicas != 0 { if err == nil && *(rc.Spec.Replicas) != 0 {
if framework.TestContext.GarbageCollectorEnabled { if framework.TestContext.GarbageCollectorEnabled {
By("Cleaning up only the replication controller, garbage collector will clean up the pods") By("Cleaning up only the replication controller, garbage collector will clean up the pods")
err := framework.DeleteRCAndWaitForGC(dtc.ClientSet, dtc.Configs[i].Namespace, rcName) err := framework.DeleteRCAndWaitForGC(dtc.ClientSet, dtc.Configs[i].Namespace, rcName)
framework.ExpectNoError(err) framework.ExpectNoError(err)
} else { } else {
By("Cleaning up the replication controller and pods") By("Cleaning up the replication controller and pods")
err := framework.DeleteRCAndPods(dtc.ClientSet, dtc.Configs[i].Namespace, rcName) err := framework.DeleteRCAndPods(dtc.ClientSet, dtc.InternalClientset, dtc.Configs[i].Namespace, rcName)
framework.ExpectNoError(err) framework.ExpectNoError(err)
} }
} }
...@@ -260,7 +263,7 @@ func cleanupDensityTest(dtc DensityTestConfig) { ...@@ -260,7 +263,7 @@ func cleanupDensityTest(dtc DensityTestConfig) {
// results will not be representative for control-plane performance as we'll start hitting // results will not be representative for control-plane performance as we'll start hitting
// limits on Docker's concurrent container startup. // limits on Docker's concurrent container startup.
var _ = framework.KubeDescribe("Density", func() { var _ = framework.KubeDescribe("Density", func() {
var c internalclientset.Interface var c clientset.Interface
var nodeCount int var nodeCount int
var RCName string var RCName string
var additionalPodsPrefix string var additionalPodsPrefix string
...@@ -270,7 +273,7 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -270,7 +273,7 @@ var _ = framework.KubeDescribe("Density", func() {
var totalPods int var totalPods int
var nodeCpuCapacity int64 var nodeCpuCapacity int64
var nodeMemCapacity int64 var nodeMemCapacity int64
var nodes *api.NodeList var nodes *v1.NodeList
var masters sets.String var masters sets.String
// Gathers data prior to framework namespace teardown // Gathers data prior to framework namespace teardown
...@@ -332,10 +335,10 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -332,10 +335,10 @@ var _ = framework.KubeDescribe("Density", func() {
for _, node := range nodes.Items { for _, node := range nodes.Items {
var internalIP, externalIP string var internalIP, externalIP string
for _, address := range node.Status.Addresses { for _, address := range node.Status.Addresses {
if address.Type == api.NodeInternalIP { if address.Type == v1.NodeInternalIP {
internalIP = address.Address internalIP = address.Address
} }
if address.Type == api.NodeExternalIP { if address.Type == v1.NodeExternalIP {
externalIP = address.Address externalIP = address.Address
} }
} }
...@@ -399,12 +402,13 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -399,12 +402,13 @@ var _ = framework.KubeDescribe("Density", func() {
podThroughput := 20 podThroughput := 20
timeout := time.Duration(totalPods/podThroughput)*time.Second + 3*time.Minute timeout := time.Duration(totalPods/podThroughput)*time.Second + 3*time.Minute
// createClients is defined in load.go // createClients is defined in load.go
clients, err := createClients(numberOfRCs) clients, internalClients, err := createClients(numberOfRCs)
for i := 0; i < numberOfRCs; i++ { for i := 0; i < numberOfRCs; i++ {
RCName := fmt.Sprintf("density%v-%v-%v", totalPods, i, uuid) RCName := fmt.Sprintf("density%v-%v-%v", totalPods, i, uuid)
nsName := namespaces[i].Name nsName := namespaces[i].Name
RCConfigs[i] = testutils.RCConfig{ RCConfigs[i] = testutils.RCConfig{
Client: clients[i], Client: clients[i],
InternalClient: internalClients[i],
Image: framework.GetPauseImageName(f.ClientSet), Image: framework.GetPauseImageName(f.ClientSet),
Name: RCName, Name: RCName,
Namespace: nsName, Namespace: nsName,
...@@ -422,6 +426,7 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -422,6 +426,7 @@ var _ = framework.KubeDescribe("Density", func() {
dConfig := DensityTestConfig{ dConfig := DensityTestConfig{
ClientSet: f.ClientSet, ClientSet: f.ClientSet,
InternalClientset: f.InternalClientset,
Configs: RCConfigs, Configs: RCConfigs,
PodCount: totalPods, PodCount: totalPods,
PollInterval: DensityPollInterval, PollInterval: DensityPollInterval,
...@@ -437,12 +442,12 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -437,12 +442,12 @@ var _ = framework.KubeDescribe("Density", func() {
watchTimes := make(map[string]unversioned.Time, 0) watchTimes := make(map[string]unversioned.Time, 0)
var mutex sync.Mutex var mutex sync.Mutex
checkPod := func(p *api.Pod) { checkPod := func(p *v1.Pod) {
mutex.Lock() mutex.Lock()
defer mutex.Unlock() defer mutex.Unlock()
defer GinkgoRecover() defer GinkgoRecover()
if p.Status.Phase == api.PodRunning { if p.Status.Phase == v1.PodRunning {
if _, found := watchTimes[p.Name]; !found { if _, found := watchTimes[p.Name]; !found {
watchTimes[p.Name] = unversioned.Now() watchTimes[p.Name] = unversioned.Now()
createTimes[p.Name] = p.CreationTimestamp createTimes[p.Name] = p.CreationTimestamp
...@@ -472,31 +477,31 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -472,31 +477,31 @@ var _ = framework.KubeDescribe("Density", func() {
nsName := namespaces[i].Name nsName := namespaces[i].Name
latencyPodsStore, controller := cache.NewInformer( latencyPodsStore, controller := cache.NewInformer(
&cache.ListWatch{ &cache.ListWatch{
ListFunc: func(options api.ListOptions) (runtime.Object, error) { ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
options.LabelSelector = labels.SelectorFromSet(labels.Set{"type": additionalPodsPrefix}) options.LabelSelector = labels.SelectorFromSet(labels.Set{"type": additionalPodsPrefix}).String()
obj, err := c.Core().Pods(nsName).List(options) obj, err := c.Core().Pods(nsName).List(options)
return runtime.Object(obj), err return runtime.Object(obj), err
}, },
WatchFunc: func(options api.ListOptions) (watch.Interface, error) { WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
options.LabelSelector = labels.SelectorFromSet(labels.Set{"type": additionalPodsPrefix}) options.LabelSelector = labels.SelectorFromSet(labels.Set{"type": additionalPodsPrefix}).String()
return c.Core().Pods(nsName).Watch(options) return c.Core().Pods(nsName).Watch(options)
}, },
}, },
&api.Pod{}, &v1.Pod{},
0, 0,
cache.ResourceEventHandlerFuncs{ cache.ResourceEventHandlerFuncs{
AddFunc: func(obj interface{}) { AddFunc: func(obj interface{}) {
p, ok := obj.(*api.Pod) p, ok := obj.(*v1.Pod)
if !ok { if !ok {
framework.Logf("Failed to cast observed object to *api.Pod.") framework.Logf("Failed to cast observed object to *v1.Pod.")
} }
Expect(ok).To(Equal(true)) Expect(ok).To(Equal(true))
go checkPod(p) go checkPod(p)
}, },
UpdateFunc: func(oldObj, newObj interface{}) { UpdateFunc: func(oldObj, newObj interface{}) {
p, ok := newObj.(*api.Pod) p, ok := newObj.(*v1.Pod)
if !ok { if !ok {
framework.Logf("Failed to cast observed object to *api.Pod.") framework.Logf("Failed to cast observed object to *v1.Pod.")
} }
Expect(ok).To(Equal(true)) Expect(ok).To(Equal(true))
go checkPod(p) go checkPod(p)
...@@ -545,7 +550,7 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -545,7 +550,7 @@ var _ = framework.KubeDescribe("Density", func() {
nodeToLatencyPods := make(map[string]int) nodeToLatencyPods := make(map[string]int)
for i := range latencyPodStores { for i := range latencyPodStores {
for _, item := range latencyPodStores[i].List() { for _, item := range latencyPodStores[i].List() {
pod := item.(*api.Pod) pod := item.(*v1.Pod)
nodeToLatencyPods[pod.Spec.NodeName]++ nodeToLatencyPods[pod.Spec.NodeName]++
} }
for node, count := range nodeToLatencyPods { for node, count := range nodeToLatencyPods {
...@@ -560,9 +565,9 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -560,9 +565,9 @@ var _ = framework.KubeDescribe("Density", func() {
selector := fields.Set{ selector := fields.Set{
"involvedObject.kind": "Pod", "involvedObject.kind": "Pod",
"involvedObject.namespace": nsName, "involvedObject.namespace": nsName,
"source": api.DefaultSchedulerName, "source": v1.DefaultSchedulerName,
}.AsSelector() }.AsSelector().String()
options := api.ListOptions{FieldSelector: selector} options := v1.ListOptions{FieldSelector: selector}
schedEvents, err := c.Core().Events(nsName).List(options) schedEvents, err := c.Core().Events(nsName).List(options)
framework.ExpectNoError(err) framework.ExpectNoError(err)
for k := range createTimes { for k := range createTimes {
...@@ -683,39 +688,39 @@ var _ = framework.KubeDescribe("Density", func() { ...@@ -683,39 +688,39 @@ var _ = framework.KubeDescribe("Density", func() {
}) })
}) })
func createRunningPodFromRC(wg *sync.WaitGroup, c internalclientset.Interface, name, ns, image, podType string, cpuRequest, memRequest resource.Quantity) { func createRunningPodFromRC(wg *sync.WaitGroup, c clientset.Interface, name, ns, image, podType string, cpuRequest, memRequest resource.Quantity) {
defer GinkgoRecover() defer GinkgoRecover()
defer wg.Done() defer wg.Done()
labels := map[string]string{ labels := map[string]string{
"type": podType, "type": podType,
"name": name, "name": name,
} }
rc := &api.ReplicationController{ rc := &v1.ReplicationController{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
Labels: labels, Labels: labels,
}, },
Spec: api.ReplicationControllerSpec{ Spec: v1.ReplicationControllerSpec{
Replicas: 1, Replicas: func(i int) *int32 { x := int32(i); return &x }(1),
Selector: labels, Selector: labels,
Template: &api.PodTemplateSpec{ Template: &v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: labels, Labels: labels,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: name, Name: name,
Image: image, Image: image,
Resources: api.ResourceRequirements{ Resources: v1.ResourceRequirements{
Requests: api.ResourceList{ Requests: v1.ResourceList{
api.ResourceCPU: cpuRequest, v1.ResourceCPU: cpuRequest,
api.ResourceMemory: memRequest, v1.ResourceMemory: memRequest,
}, },
}, },
}, },
}, },
DNSPolicy: api.DNSDefault, DNSPolicy: v1.DNSDefault,
}, },
}, },
}, },
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
"k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/unversioned"
api "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/api/v1"
extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1" extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1"
policy "k8s.io/client-go/pkg/apis/policy/v1beta1" policy "k8s.io/client-go/pkg/apis/policy/v1beta1"
"k8s.io/client-go/pkg/util/intstr" "k8s.io/client-go/pkg/util/intstr"
...@@ -127,15 +127,15 @@ var _ = framework.KubeDescribe("DisruptionController", func() { ...@@ -127,15 +127,15 @@ var _ = framework.KubeDescribe("DisruptionController", func() {
} }
// Locate a running pod. // Locate a running pod.
var pod api.Pod var pod v1.Pod
err := wait.PollImmediate(framework.Poll, schedulingTimeout, func() (bool, error) { err := wait.PollImmediate(framework.Poll, schedulingTimeout, func() (bool, error) {
podList, err := cs.Pods(ns).List(api.ListOptions{}) podList, err := cs.Pods(ns).List(v1.ListOptions{})
if err != nil { if err != nil {
return false, err return false, err
} }
for i := range podList.Items { for i := range podList.Items {
if podList.Items[i].Status.Phase == api.PodRunning { if podList.Items[i].Status.Phase == v1.PodRunning {
pod = podList.Items[i] pod = podList.Items[i]
return true, nil return true, nil
} }
...@@ -146,7 +146,7 @@ var _ = framework.KubeDescribe("DisruptionController", func() { ...@@ -146,7 +146,7 @@ var _ = framework.KubeDescribe("DisruptionController", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
e := &policy.Eviction{ e := &policy.Eviction{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: pod.Name, Name: pod.Name,
Namespace: ns, Namespace: ns,
}, },
...@@ -184,7 +184,7 @@ var _ = framework.KubeDescribe("DisruptionController", func() { ...@@ -184,7 +184,7 @@ var _ = framework.KubeDescribe("DisruptionController", func() {
func createPodDisruptionBudgetOrDie(cs *kubernetes.Clientset, ns string, minAvailable intstr.IntOrString) { func createPodDisruptionBudgetOrDie(cs *kubernetes.Clientset, ns string, minAvailable intstr.IntOrString) {
pdb := policy.PodDisruptionBudget{ pdb := policy.PodDisruptionBudget{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "foo", Name: "foo",
Namespace: ns, Namespace: ns,
}, },
...@@ -199,20 +199,20 @@ func createPodDisruptionBudgetOrDie(cs *kubernetes.Clientset, ns string, minAvai ...@@ -199,20 +199,20 @@ func createPodDisruptionBudgetOrDie(cs *kubernetes.Clientset, ns string, minAvai
func createPodsOrDie(cs *kubernetes.Clientset, ns string, n int) { func createPodsOrDie(cs *kubernetes.Clientset, ns string, n int) {
for i := 0; i < n; i++ { for i := 0; i < n; i++ {
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: fmt.Sprintf("pod-%d", i), Name: fmt.Sprintf("pod-%d", i),
Namespace: ns, Namespace: ns,
Labels: map[string]string{"foo": "bar"}, Labels: map[string]string{"foo": "bar"},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "busybox", Name: "busybox",
Image: "gcr.io/google_containers/echoserver:1.4", Image: "gcr.io/google_containers/echoserver:1.4",
}, },
}, },
RestartPolicy: api.RestartPolicyAlways, RestartPolicy: v1.RestartPolicyAlways,
}, },
} }
...@@ -224,7 +224,7 @@ func createPodsOrDie(cs *kubernetes.Clientset, ns string, n int) { ...@@ -224,7 +224,7 @@ func createPodsOrDie(cs *kubernetes.Clientset, ns string, n int) {
func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) { func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) {
By("Waiting for all pods to be running") By("Waiting for all pods to be running")
err := wait.PollImmediate(framework.Poll, schedulingTimeout, func() (bool, error) { err := wait.PollImmediate(framework.Poll, schedulingTimeout, func() (bool, error) {
pods, err := cs.Core().Pods(ns).List(api.ListOptions{LabelSelector: "foo=bar"}) pods, err := cs.Core().Pods(ns).List(v1.ListOptions{LabelSelector: "foo=bar"})
if err != nil { if err != nil {
return false, err return false, err
} }
...@@ -237,7 +237,7 @@ func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) { ...@@ -237,7 +237,7 @@ func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) {
} }
ready := 0 ready := 0
for i := 0; i < n; i++ { for i := 0; i < n; i++ {
if pods.Items[i].Status.Phase == api.PodRunning { if pods.Items[i].Status.Phase == v1.PodRunning {
ready++ ready++
} }
} }
...@@ -251,18 +251,18 @@ func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) { ...@@ -251,18 +251,18 @@ func waitForPodsOrDie(cs *kubernetes.Clientset, ns string, n int) {
} }
func createReplicaSetOrDie(cs *kubernetes.Clientset, ns string, size int32, exclusive bool) { func createReplicaSetOrDie(cs *kubernetes.Clientset, ns string, size int32, exclusive bool) {
container := api.Container{ container := v1.Container{
Name: "busybox", Name: "busybox",
Image: "gcr.io/google_containers/echoserver:1.4", Image: "gcr.io/google_containers/echoserver:1.4",
} }
if exclusive { if exclusive {
container.Ports = []api.ContainerPort{ container.Ports = []v1.ContainerPort{
{HostPort: 5555, ContainerPort: 5555}, {HostPort: 5555, ContainerPort: 5555},
} }
} }
rs := &extensions.ReplicaSet{ rs := &extensions.ReplicaSet{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "rs", Name: "rs",
Namespace: ns, Namespace: ns,
}, },
...@@ -271,12 +271,12 @@ func createReplicaSetOrDie(cs *kubernetes.Clientset, ns string, size int32, excl ...@@ -271,12 +271,12 @@ func createReplicaSetOrDie(cs *kubernetes.Clientset, ns string, size int32, excl
Selector: &unversioned.LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"foo": "bar"}, MatchLabels: map[string]string{"foo": "bar"},
}, },
Template: api.PodTemplateSpec{ Template: v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Labels: map[string]string{"foo": "bar"}, Labels: map[string]string{"foo": "bar"},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{container}, Containers: []v1.Container{container},
}, },
}, },
}, },
......
...@@ -24,10 +24,11 @@ import ( ...@@ -24,10 +24,11 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/pod"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1/pod"
"k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apimachinery/registered"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
...@@ -42,37 +43,37 @@ var dnsServiceLabelSelector = labels.Set{ ...@@ -42,37 +43,37 @@ var dnsServiceLabelSelector = labels.Set{
"kubernetes.io/cluster-service": "true", "kubernetes.io/cluster-service": "true",
}.AsSelector() }.AsSelector()
func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotation bool) *api.Pod { func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotation bool) *v1.Pod {
dnsPod := &api.Pod{ dnsPod := &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
APIVersion: registered.GroupOrDie(api.GroupName).GroupVersion.String(), APIVersion: registered.GroupOrDie(v1.GroupName).GroupVersion.String(),
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "dns-test-" + string(uuid.NewUUID()), Name: "dns-test-" + string(uuid.NewUUID()),
Namespace: namespace, Namespace: namespace,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: "results", Name: "results",
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
EmptyDir: &api.EmptyDirVolumeSource{}, EmptyDir: &v1.EmptyDirVolumeSource{},
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
// TODO: Consider scraping logs instead of running a webserver. // TODO: Consider scraping logs instead of running a webserver.
{ {
Name: "webserver", Name: "webserver",
Image: "gcr.io/google_containers/test-webserver:e2e", Image: "gcr.io/google_containers/test-webserver:e2e",
Ports: []api.ContainerPort{ Ports: []v1.ContainerPort{
{ {
Name: "http", Name: "http",
ContainerPort: 80, ContainerPort: 80,
}, },
}, },
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "results", Name: "results",
MountPath: "/results", MountPath: "/results",
...@@ -83,7 +84,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio ...@@ -83,7 +84,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio
Name: "querier", Name: "querier",
Image: "gcr.io/google_containers/dnsutils:e2e", Image: "gcr.io/google_containers/dnsutils:e2e",
Command: []string{"sh", "-c", wheezyProbeCmd}, Command: []string{"sh", "-c", wheezyProbeCmd},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "results", Name: "results",
MountPath: "/results", MountPath: "/results",
...@@ -94,7 +95,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio ...@@ -94,7 +95,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string, useAnnotatio
Name: "jessie-querier", Name: "jessie-querier",
Image: "gcr.io/google_containers/jessie-dnsutils:e2e", Image: "gcr.io/google_containers/jessie-dnsutils:e2e",
Command: []string{"sh", "-c", jessieProbeCmd}, Command: []string{"sh", "-c", jessieProbeCmd},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: "results", Name: "results",
MountPath: "/results", MountPath: "/results",
...@@ -171,11 +172,11 @@ func createTargetedProbeCommand(nameToResolve string, lookup string, fileNamePre ...@@ -171,11 +172,11 @@ func createTargetedProbeCommand(nameToResolve string, lookup string, fileNamePre
return probeCmd, fileName return probeCmd, fileName
} }
func assertFilesExist(fileNames []string, fileDir string, pod *api.Pod, client clientset.Interface) { func assertFilesExist(fileNames []string, fileDir string, pod *v1.Pod, client clientset.Interface) {
assertFilesContain(fileNames, fileDir, pod, client, false, "") assertFilesContain(fileNames, fileDir, pod, client, false, "")
} }
func assertFilesContain(fileNames []string, fileDir string, pod *api.Pod, client clientset.Interface, check bool, expected string) { func assertFilesContain(fileNames []string, fileDir string, pod *v1.Pod, client clientset.Interface, check bool, expected string) {
var failed []string var failed []string
framework.ExpectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) { framework.ExpectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) {
...@@ -220,14 +221,14 @@ func assertFilesContain(fileNames []string, fileDir string, pod *api.Pod, client ...@@ -220,14 +221,14 @@ func assertFilesContain(fileNames []string, fileDir string, pod *api.Pod, client
Expect(len(failed)).To(Equal(0)) Expect(len(failed)).To(Equal(0))
} }
func validateDNSResults(f *framework.Framework, pod *api.Pod, fileNames []string) { func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string) {
By("submitting the pod to kubernetes") By("submitting the pod to kubernetes")
podClient := f.ClientSet.Core().Pods(f.Namespace.Name) podClient := f.ClientSet.Core().Pods(f.Namespace.Name)
defer func() { defer func() {
By("deleting the pod") By("deleting the pod")
defer GinkgoRecover() defer GinkgoRecover()
podClient.Delete(pod.Name, api.NewDeleteOptions(0)) podClient.Delete(pod.Name, v1.NewDeleteOptions(0))
}() }()
if _, err := podClient.Create(pod); err != nil { if _, err := podClient.Create(pod); err != nil {
framework.Failf("Failed to create %s pod: %v", pod.Name, err) framework.Failf("Failed to create %s pod: %v", pod.Name, err)
...@@ -249,14 +250,14 @@ func validateDNSResults(f *framework.Framework, pod *api.Pod, fileNames []string ...@@ -249,14 +250,14 @@ func validateDNSResults(f *framework.Framework, pod *api.Pod, fileNames []string
framework.Logf("DNS probes using %s succeeded\n", pod.Name) framework.Logf("DNS probes using %s succeeded\n", pod.Name)
} }
func validateTargetedProbeOutput(f *framework.Framework, pod *api.Pod, fileNames []string, value string) { func validateTargetedProbeOutput(f *framework.Framework, pod *v1.Pod, fileNames []string, value string) {
By("submitting the pod to kubernetes") By("submitting the pod to kubernetes")
podClient := f.ClientSet.Core().Pods(f.Namespace.Name) podClient := f.ClientSet.Core().Pods(f.Namespace.Name)
defer func() { defer func() {
By("deleting the pod") By("deleting the pod")
defer GinkgoRecover() defer GinkgoRecover()
podClient.Delete(pod.Name, api.NewDeleteOptions(0)) podClient.Delete(pod.Name, v1.NewDeleteOptions(0))
}() }()
if _, err := podClient.Create(pod); err != nil { if _, err := podClient.Create(pod); err != nil {
framework.Failf("Failed to create %s pod: %v", pod.Name, err) framework.Failf("Failed to create %s pod: %v", pod.Name, err)
...@@ -279,7 +280,7 @@ func validateTargetedProbeOutput(f *framework.Framework, pod *api.Pod, fileNames ...@@ -279,7 +280,7 @@ func validateTargetedProbeOutput(f *framework.Framework, pod *api.Pod, fileNames
func verifyDNSPodIsRunning(f *framework.Framework) { func verifyDNSPodIsRunning(f *framework.Framework) {
systemClient := f.ClientSet.Core().Pods(api.NamespaceSystem) systemClient := f.ClientSet.Core().Pods(api.NamespaceSystem)
By("Waiting for DNS Service to be Running") By("Waiting for DNS Service to be Running")
options := api.ListOptions{LabelSelector: dnsServiceLabelSelector} options := v1.ListOptions{LabelSelector: dnsServiceLabelSelector.String()}
dnsPods, err := systemClient.List(options) dnsPods, err := systemClient.List(options)
if err != nil { if err != nil {
framework.Failf("Failed to list all dns service pods") framework.Failf("Failed to list all dns service pods")
...@@ -291,20 +292,20 @@ func verifyDNSPodIsRunning(f *framework.Framework) { ...@@ -291,20 +292,20 @@ func verifyDNSPodIsRunning(f *framework.Framework) {
framework.ExpectNoError(framework.WaitForPodRunningInNamespace(f.ClientSet, &pod)) framework.ExpectNoError(framework.WaitForPodRunningInNamespace(f.ClientSet, &pod))
} }
func createServiceSpec(serviceName, externalName string, isHeadless bool, selector map[string]string) *api.Service { func createServiceSpec(serviceName, externalName string, isHeadless bool, selector map[string]string) *v1.Service {
headlessService := &api.Service{ headlessService := &v1.Service{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: serviceName, Name: serviceName,
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Selector: selector, Selector: selector,
}, },
} }
if externalName != "" { if externalName != "" {
headlessService.Spec.Type = api.ServiceTypeExternalName headlessService.Spec.Type = v1.ServiceTypeExternalName
headlessService.Spec.ExternalName = externalName headlessService.Spec.ExternalName = externalName
} else { } else {
headlessService.Spec.Ports = []api.ServicePort{ headlessService.Spec.Ports = []v1.ServicePort{
{Port: 80, Name: "http", Protocol: "TCP"}, {Port: 80, Name: "http", Protocol: "TCP"},
} }
} }
...@@ -463,7 +464,7 @@ var _ = framework.KubeDescribe("DNS", func() { ...@@ -463,7 +464,7 @@ var _ = framework.KubeDescribe("DNS", func() {
// Test changing the externalName field // Test changing the externalName field
By("changing the externalName to bar.example.com") By("changing the externalName to bar.example.com")
_, err = updateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *api.Service) { _, err = updateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *v1.Service) {
s.Spec.ExternalName = "bar.example.com" s.Spec.ExternalName = "bar.example.com"
}) })
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -480,10 +481,10 @@ var _ = framework.KubeDescribe("DNS", func() { ...@@ -480,10 +481,10 @@ var _ = framework.KubeDescribe("DNS", func() {
// Test changing type from ExternalName to ClusterIP // Test changing type from ExternalName to ClusterIP
By("changing the service to type=ClusterIP") By("changing the service to type=ClusterIP")
_, err = updateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *api.Service) { _, err = updateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *v1.Service) {
s.Spec.Type = api.ServiceTypeClusterIP s.Spec.Type = v1.ServiceTypeClusterIP
s.Spec.ClusterIP = "127.1.2.3" s.Spec.ClusterIP = "127.1.2.3"
s.Spec.Ports = []api.ServicePort{ s.Spec.Ports = []v1.ServicePort{
{Port: 80, Name: "http", Protocol: "TCP"}, {Port: 80, Name: "http", Protocol: "TCP"},
} }
}) })
......
...@@ -23,8 +23,8 @@ import ( ...@@ -23,8 +23,8 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("DNS horizontal autoscaling", func() { ...@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("DNS horizontal autoscaling", func() {
}) })
}) })
func fetchDNSScalingConfigMap(c clientset.Interface) (*api.ConfigMap, error) { func fetchDNSScalingConfigMap(c clientset.Interface) (*v1.ConfigMap, error) {
cm, err := c.Core().ConfigMaps(DNSNamespace).Get(DNSAutoscalerLabelName) cm, err := c.Core().ConfigMaps(DNSNamespace).Get(DNSAutoscalerLabelName)
if err != nil { if err != nil {
return nil, err return nil, err
...@@ -160,15 +160,15 @@ func deleteDNSScalingConfigMap(c clientset.Interface) error { ...@@ -160,15 +160,15 @@ func deleteDNSScalingConfigMap(c clientset.Interface) error {
return nil return nil
} }
func packDNSScalingConfigMap(params map[string]string) *api.ConfigMap { func packDNSScalingConfigMap(params map[string]string) *v1.ConfigMap {
configMap := api.ConfigMap{} configMap := v1.ConfigMap{}
configMap.ObjectMeta.Name = DNSAutoscalerLabelName configMap.ObjectMeta.Name = DNSAutoscalerLabelName
configMap.ObjectMeta.Namespace = DNSNamespace configMap.ObjectMeta.Namespace = DNSNamespace
configMap.Data = params configMap.Data = params
return &configMap return &configMap
} }
func updateDNSScalingConfigMap(c clientset.Interface, configMap *api.ConfigMap) error { func updateDNSScalingConfigMap(c clientset.Interface, configMap *v1.ConfigMap) error {
_, err := c.Core().ConfigMaps(DNSNamespace).Update(configMap) _, err := c.Core().ConfigMaps(DNSNamespace).Update(configMap)
if err != nil { if err != nil {
return err return err
...@@ -179,7 +179,7 @@ func updateDNSScalingConfigMap(c clientset.Interface, configMap *api.ConfigMap) ...@@ -179,7 +179,7 @@ func updateDNSScalingConfigMap(c clientset.Interface, configMap *api.ConfigMap)
func getDNSReplicas(c clientset.Interface) (int, error) { func getDNSReplicas(c clientset.Interface) (int, error) {
label := labels.SelectorFromSet(labels.Set(map[string]string{ClusterAddonLabelKey: KubeDNSLabelName})) label := labels.SelectorFromSet(labels.Set(map[string]string{ClusterAddonLabelKey: KubeDNSLabelName}))
listOpts := api.ListOptions{LabelSelector: label} listOpts := v1.ListOptions{LabelSelector: label.String()}
deployments, err := c.Extensions().Deployments(DNSNamespace).List(listOpts) deployments, err := c.Extensions().Deployments(DNSNamespace).List(listOpts)
if err != nil { if err != nil {
return 0, err return 0, err
...@@ -187,12 +187,12 @@ func getDNSReplicas(c clientset.Interface) (int, error) { ...@@ -187,12 +187,12 @@ func getDNSReplicas(c clientset.Interface) (int, error) {
Expect(len(deployments.Items)).Should(Equal(1)) Expect(len(deployments.Items)).Should(Equal(1))
deployment := deployments.Items[0] deployment := deployments.Items[0]
return int(deployment.Spec.Replicas), nil return int(*(deployment.Spec.Replicas)), nil
} }
func deleteDNSAutoscalerPod(c clientset.Interface) error { func deleteDNSAutoscalerPod(c clientset.Interface) error {
label := labels.SelectorFromSet(labels.Set(map[string]string{ClusterAddonLabelKey: DNSAutoscalerLabelName})) label := labels.SelectorFromSet(labels.Set(map[string]string{ClusterAddonLabelKey: DNSAutoscalerLabelName}))
listOpts := api.ListOptions{LabelSelector: label} listOpts := v1.ListOptions{LabelSelector: label.String()}
pods, err := c.Core().Pods(DNSNamespace).List(listOpts) pods, err := c.Core().Pods(DNSNamespace).List(listOpts)
if err != nil { if err != nil {
return err return err
...@@ -227,7 +227,7 @@ func waitForDNSReplicasSatisfied(c clientset.Interface, expected int, timeout ti ...@@ -227,7 +227,7 @@ func waitForDNSReplicasSatisfied(c clientset.Interface, expected int, timeout ti
return nil return nil
} }
func waitForDNSConfigMapCreated(c clientset.Interface, timeout time.Duration) (configMap *api.ConfigMap, err error) { func waitForDNSConfigMapCreated(c clientset.Interface, timeout time.Duration) (configMap *v1.ConfigMap, err error) {
framework.Logf("Waiting up to %v for DNS autoscaling ConfigMap got re-created", timeout) framework.Logf("Waiting up to %v for DNS autoscaling ConfigMap got re-created", timeout)
condition := func() (bool, error) { condition := func() (bool, error) {
configMap, err = fetchDNSScalingConfigMap(c) configMap, err = fetchDNSScalingConfigMap(c)
......
...@@ -31,6 +31,7 @@ import ( ...@@ -31,6 +31,7 @@ import (
"github.com/onsi/gomega" "github.com/onsi/gomega"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/util/logs" "k8s.io/kubernetes/pkg/util/logs"
"k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/runtime"
...@@ -94,19 +95,15 @@ var _ = ginkgo.SynchronizedBeforeSuite(func() []byte { ...@@ -94,19 +95,15 @@ var _ = ginkgo.SynchronizedBeforeSuite(func() []byte {
framework.Failf("Failed to setup provider config: %v", err) framework.Failf("Failed to setup provider config: %v", err)
} }
c, err := framework.LoadInternalClientset() c, err := framework.LoadClientset()
if err != nil { if err != nil {
glog.Fatal("Error loading client: ", err) glog.Fatal("Error loading client: ", err)
} }
clientset, err := framework.LoadClientset()
if err != nil {
glog.Fatal("Error loading clientset: ", err)
}
// Delete any namespaces except default and kube-system. This ensures no // Delete any namespaces except default and kube-system. This ensures no
// lingering resources are left over from a previous test run. // lingering resources are left over from a previous test run.
if framework.TestContext.CleanStart { if framework.TestContext.CleanStart {
deleted, err := framework.DeleteNamespaces(c, nil /* deleteFilter */, []string{api.NamespaceSystem, api.NamespaceDefault}) deleted, err := framework.DeleteNamespaces(c, nil /* deleteFilter */, []string{api.NamespaceSystem, v1.NamespaceDefault})
if err != nil { if err != nil {
framework.Failf("Error deleting orphaned namespaces: %v", err) framework.Failf("Error deleting orphaned namespaces: %v", err)
} }
...@@ -127,9 +124,9 @@ var _ = ginkgo.SynchronizedBeforeSuite(func() []byte { ...@@ -127,9 +124,9 @@ var _ = ginkgo.SynchronizedBeforeSuite(func() []byte {
// ready will fail). // ready will fail).
podStartupTimeout := framework.TestContext.SystemPodsStartupTimeout podStartupTimeout := framework.TestContext.SystemPodsStartupTimeout
if err := framework.WaitForPodsRunningReady(c, api.NamespaceSystem, int32(framework.TestContext.MinStartupPods), podStartupTimeout, framework.ImagePullerLabels); err != nil { if err := framework.WaitForPodsRunningReady(c, api.NamespaceSystem, int32(framework.TestContext.MinStartupPods), podStartupTimeout, framework.ImagePullerLabels); err != nil {
framework.DumpAllNamespaceInfo(c, clientset, api.NamespaceSystem) framework.DumpAllNamespaceInfo(c, api.NamespaceSystem)
framework.LogFailedContainers(c, api.NamespaceSystem, framework.Logf) framework.LogFailedContainers(c, api.NamespaceSystem, framework.Logf)
framework.RunKubernetesServiceTestContainer(c, api.NamespaceDefault) framework.RunKubernetesServiceTestContainer(c, v1.NamespaceDefault)
framework.Failf("Error waiting for all pods to be running and ready: %v", err) framework.Failf("Error waiting for all pods to be running and ready: %v", err)
} }
......
...@@ -17,8 +17,8 @@ limitations under the License. ...@@ -17,8 +17,8 @@ limitations under the License.
package e2e package e2e
import ( import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/intstr"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -57,8 +57,8 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() { ...@@ -57,8 +57,8 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
volumeName := "secret-volume" volumeName := "secret-volume"
volumeMountPath := "/etc/secret-volume" volumeMountPath := "/etc/secret-volume"
secret := &api.Secret{ secret := &v1.Secret{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Name: name, Name: name,
}, },
...@@ -77,35 +77,35 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() { ...@@ -77,35 +77,35 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
gitURL, gitRepo, gitCleanup := createGitServer(f) gitURL, gitRepo, gitCleanup := createGitServer(f)
defer gitCleanup() defer gitCleanup()
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "pod-secrets-" + string(uuid.NewUUID()), Name: "pod-secrets-" + string(uuid.NewUUID()),
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Volumes: []api.Volume{ Volumes: []v1.Volume{
{ {
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
Secret: &api.SecretVolumeSource{ Secret: &v1.SecretVolumeSource{
SecretName: name, SecretName: name,
}, },
}, },
}, },
{ {
Name: gitVolumeName, Name: gitVolumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
GitRepo: &api.GitRepoVolumeSource{ GitRepo: &v1.GitRepoVolumeSource{
Repository: gitURL, Repository: gitURL,
Directory: gitRepo, Directory: gitRepo,
}, },
}, },
}, },
}, },
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "secret-test", Name: "secret-test",
Image: "gcr.io/google_containers/test-webserver:e2e", Image: "gcr.io/google_containers/test-webserver:e2e",
VolumeMounts: []api.VolumeMount{ VolumeMounts: []v1.VolumeMount{
{ {
Name: volumeName, Name: volumeName,
MountPath: volumeMountPath, MountPath: volumeMountPath,
...@@ -128,7 +128,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() { ...@@ -128,7 +128,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
framework.Failf("unable to delete secret %v: %v", secret.Name, err) framework.Failf("unable to delete secret %v: %v", secret.Name, err)
} }
By("Cleaning up the git vol pod") By("Cleaning up the git vol pod")
if err = f.ClientSet.Core().Pods(f.Namespace.Name).Delete(pod.Name, api.NewDeleteOptions(0)); err != nil { if err = f.ClientSet.Core().Pods(f.Namespace.Name).Delete(pod.Name, v1.NewDeleteOptions(0)); err != nil {
framework.Failf("unable to delete git vol pod %v: %v", pod.Name, err) framework.Failf("unable to delete git vol pod %v: %v", pod.Name, err)
} }
}() }()
...@@ -177,18 +177,18 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle ...@@ -177,18 +177,18 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
labels := map[string]string{"name": gitServerPodName} labels := map[string]string{"name": gitServerPodName}
gitServerPod := &api.Pod{ gitServerPod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: gitServerPodName, Name: gitServerPodName,
Labels: labels, Labels: labels,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "git-repo", Name: "git-repo",
Image: "gcr.io/google_containers/fakegitserver:0.1", Image: "gcr.io/google_containers/fakegitserver:0.1",
ImagePullPolicy: "IfNotPresent", ImagePullPolicy: "IfNotPresent",
Ports: []api.ContainerPort{ Ports: []v1.ContainerPort{
{ContainerPort: int32(containerPort)}, {ContainerPort: int32(containerPort)},
}, },
}, },
...@@ -200,13 +200,13 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle ...@@ -200,13 +200,13 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
// Portal IP and port // Portal IP and port
httpPort := 2345 httpPort := 2345
gitServerSvc := &api.Service{ gitServerSvc := &v1.Service{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "git-server-svc", Name: "git-server-svc",
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Selector: labels, Selector: labels,
Ports: []api.ServicePort{ Ports: []v1.ServicePort{
{ {
Name: "http-portal", Name: "http-portal",
Port: int32(httpPort), Port: int32(httpPort),
...@@ -222,7 +222,7 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle ...@@ -222,7 +222,7 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
return "http://" + gitServerSvc.Spec.ClusterIP + ":" + strconv.Itoa(httpPort), "test", func() { return "http://" + gitServerSvc.Spec.ClusterIP + ":" + strconv.Itoa(httpPort), "test", func() {
By("Cleaning up the git server pod") By("Cleaning up the git server pod")
if err := f.ClientSet.Core().Pods(f.Namespace.Name).Delete(gitServerPod.Name, api.NewDeleteOptions(0)); err != nil { if err := f.ClientSet.Core().Pods(f.Namespace.Name).Delete(gitServerPod.Name, v1.NewDeleteOptions(0)); err != nil {
framework.Failf("unable to delete git server pod %v: %v", gitServerPod.Name, err) framework.Failf("unable to delete git server pod %v: %v", gitServerPod.Name, err)
} }
By("Cleaning up the git server svc") By("Cleaning up the git server svc")
...@@ -232,19 +232,19 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle ...@@ -232,19 +232,19 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
} }
} }
func makeGitRepoVolumes(gitURL, gitRepo string) (volumes []api.Volume, volumeMounts []api.VolumeMount) { func makeGitRepoVolumes(gitURL, gitRepo string) (volumes []v1.Volume, volumeMounts []v1.VolumeMount) {
for i := 0; i < wrappedVolumeRaceGitRepoVolumeCount; i++ { for i := 0; i < wrappedVolumeRaceGitRepoVolumeCount; i++ {
volumeName := fmt.Sprintf("racey-git-repo-%d", i) volumeName := fmt.Sprintf("racey-git-repo-%d", i)
volumes = append(volumes, api.Volume{ volumes = append(volumes, v1.Volume{
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
GitRepo: &api.GitRepoVolumeSource{ GitRepo: &v1.GitRepoVolumeSource{
Repository: gitURL, Repository: gitURL,
Directory: gitRepo, Directory: gitRepo,
}, },
}, },
}) })
volumeMounts = append(volumeMounts, api.VolumeMount{ volumeMounts = append(volumeMounts, v1.VolumeMount{
Name: volumeName, Name: volumeName,
MountPath: fmt.Sprintf("/etc/git-volume-%d", i), MountPath: fmt.Sprintf("/etc/git-volume-%d", i),
}) })
...@@ -257,8 +257,8 @@ func createConfigmapsForRace(f *framework.Framework) (configMapNames []string) { ...@@ -257,8 +257,8 @@ func createConfigmapsForRace(f *framework.Framework) (configMapNames []string) {
for i := 0; i < wrappedVolumeRaceConfigMapVolumeCount; i++ { for i := 0; i < wrappedVolumeRaceConfigMapVolumeCount; i++ {
configMapName := fmt.Sprintf("racey-configmap-%d", i) configMapName := fmt.Sprintf("racey-configmap-%d", i)
configMapNames = append(configMapNames, configMapName) configMapNames = append(configMapNames, configMapName)
configMap := &api.ConfigMap{ configMap := &v1.ConfigMap{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: f.Namespace.Name, Namespace: f.Namespace.Name,
Name: configMapName, Name: configMapName,
}, },
...@@ -280,17 +280,17 @@ func deleteConfigMaps(f *framework.Framework, configMapNames []string) { ...@@ -280,17 +280,17 @@ func deleteConfigMaps(f *framework.Framework, configMapNames []string) {
} }
} }
func makeConfigMapVolumes(configMapNames []string) (volumes []api.Volume, volumeMounts []api.VolumeMount) { func makeConfigMapVolumes(configMapNames []string) (volumes []v1.Volume, volumeMounts []v1.VolumeMount) {
for i, configMapName := range configMapNames { for i, configMapName := range configMapNames {
volumeName := fmt.Sprintf("racey-configmap-%d", i) volumeName := fmt.Sprintf("racey-configmap-%d", i)
volumes = append(volumes, api.Volume{ volumes = append(volumes, v1.Volume{
Name: volumeName, Name: volumeName,
VolumeSource: api.VolumeSource{ VolumeSource: v1.VolumeSource{
ConfigMap: &api.ConfigMapVolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{
LocalObjectReference: api.LocalObjectReference{ LocalObjectReference: v1.LocalObjectReference{
Name: configMapName, Name: configMapName,
}, },
Items: []api.KeyToPath{ Items: []v1.KeyToPath{
{ {
Key: "data-1", Key: "data-1",
Path: "data-1", Path: "data-1",
...@@ -299,7 +299,7 @@ func makeConfigMapVolumes(configMapNames []string) (volumes []api.Volume, volume ...@@ -299,7 +299,7 @@ func makeConfigMapVolumes(configMapNames []string) (volumes []api.Volume, volume
}, },
}, },
}) })
volumeMounts = append(volumeMounts, api.VolumeMount{ volumeMounts = append(volumeMounts, v1.VolumeMount{
Name: volumeName, Name: volumeName,
MountPath: fmt.Sprintf("/etc/config-%d", i), MountPath: fmt.Sprintf("/etc/config-%d", i),
}) })
...@@ -307,7 +307,7 @@ func makeConfigMapVolumes(configMapNames []string) (volumes []api.Volume, volume ...@@ -307,7 +307,7 @@ func makeConfigMapVolumes(configMapNames []string) (volumes []api.Volume, volume
return return
} }
func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volumeMounts []api.VolumeMount, podCount int32) { func testNoWrappedVolumeRace(f *framework.Framework, volumes []v1.Volume, volumeMounts []v1.VolumeMount, podCount int32) {
rcName := wrappedVolumeRaceRCNamePrefix + string(uuid.NewUUID()) rcName := wrappedVolumeRaceRCNamePrefix + string(uuid.NewUUID())
nodeList := framework.GetReadySchedulableNodesOrDie(f.ClientSet) nodeList := framework.GetReadySchedulableNodesOrDie(f.ClientSet)
Expect(len(nodeList.Items)).To(BeNumerically(">", 0)) Expect(len(nodeList.Items)).To(BeNumerically(">", 0))
...@@ -315,7 +315,7 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum ...@@ -315,7 +315,7 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum
By("Creating RC which spawns configmap-volume pods") By("Creating RC which spawns configmap-volume pods")
affinity := map[string]string{ affinity := map[string]string{
api.AffinityAnnotationKey: fmt.Sprintf(` v1.AffinityAnnotationKey: fmt.Sprintf(`
{"nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { {"nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [{ "nodeSelectorTerms": [{
"matchExpressions": [{ "matchExpressions": [{
...@@ -327,35 +327,35 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum ...@@ -327,35 +327,35 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum
}}}`, targetNode.Name), }}}`, targetNode.Name),
} }
rc := &api.ReplicationController{ rc := &v1.ReplicationController{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: rcName, Name: rcName,
}, },
Spec: api.ReplicationControllerSpec{ Spec: v1.ReplicationControllerSpec{
Replicas: podCount, Replicas: &podCount,
Selector: map[string]string{ Selector: map[string]string{
"name": rcName, "name": rcName,
}, },
Template: &api.PodTemplateSpec{ Template: &v1.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Annotations: affinity, Annotations: affinity,
Labels: map[string]string{"name": rcName}, Labels: map[string]string{"name": rcName},
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "test-container", Name: "test-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: []string{"sleep", "10000"}, Command: []string{"sleep", "10000"},
Resources: api.ResourceRequirements{ Resources: v1.ResourceRequirements{
Requests: api.ResourceList{ Requests: v1.ResourceList{
api.ResourceCPU: resource.MustParse("10m"), v1.ResourceCPU: resource.MustParse("10m"),
}, },
}, },
VolumeMounts: volumeMounts, VolumeMounts: volumeMounts,
}, },
}, },
DNSPolicy: api.DNSDefault, DNSPolicy: v1.DNSDefault,
Volumes: volumes, Volumes: volumes,
}, },
}, },
...@@ -365,7 +365,7 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum ...@@ -365,7 +365,7 @@ func testNoWrappedVolumeRace(f *framework.Framework, volumes []api.Volume, volum
Expect(err).NotTo(HaveOccurred(), "error creating replication controller") Expect(err).NotTo(HaveOccurred(), "error creating replication controller")
defer func() { defer func() {
err := framework.DeleteRCAndPods(f.ClientSet, f.Namespace.Name, rcName) err := framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, rcName)
framework.ExpectNoError(err) framework.ExpectNoError(err)
}() }()
......
...@@ -19,7 +19,7 @@ package e2e ...@@ -19,7 +19,7 @@ package e2e
import ( import (
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -106,7 +106,7 @@ func checkExistingRCRecovers(f *framework.Framework) { ...@@ -106,7 +106,7 @@ func checkExistingRCRecovers(f *framework.Framework) {
By("deleting pods from existing replication controller") By("deleting pods from existing replication controller")
framework.ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*60, func() (bool, error) { framework.ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*60, func() (bool, error) {
options := api.ListOptions{LabelSelector: rcSelector} options := v1.ListOptions{LabelSelector: rcSelector.String()}
pods, err := podClient.List(options) pods, err := podClient.List(options)
if err != nil { if err != nil {
framework.Logf("apiserver returned error, as expected before recovery: %v", err) framework.Logf("apiserver returned error, as expected before recovery: %v", err)
...@@ -116,7 +116,7 @@ func checkExistingRCRecovers(f *framework.Framework) { ...@@ -116,7 +116,7 @@ func checkExistingRCRecovers(f *framework.Framework) {
return false, nil return false, nil
} }
for _, pod := range pods.Items { for _, pod := range pods.Items {
err = podClient.Delete(pod.Name, api.NewDeleteOptions(0)) err = podClient.Delete(pod.Name, v1.NewDeleteOptions(0))
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
} }
framework.Logf("apiserver has recovered") framework.Logf("apiserver has recovered")
...@@ -125,11 +125,11 @@ func checkExistingRCRecovers(f *framework.Framework) { ...@@ -125,11 +125,11 @@ func checkExistingRCRecovers(f *framework.Framework) {
By("waiting for replication controller to recover") By("waiting for replication controller to recover")
framework.ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*60, func() (bool, error) { framework.ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*60, func() (bool, error) {
options := api.ListOptions{LabelSelector: rcSelector} options := v1.ListOptions{LabelSelector: rcSelector.String()}
pods, err := podClient.List(options) pods, err := podClient.List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
for _, pod := range pods.Items { for _, pod := range pods.Items {
if pod.DeletionTimestamp == nil && api.IsPodReady(&pod) { if pod.DeletionTimestamp == nil && v1.IsPodReady(&pod) {
return true, nil return true, nil
} }
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
"strconv" "strconv"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
...@@ -42,20 +42,20 @@ var _ = framework.KubeDescribe("Events", func() { ...@@ -42,20 +42,20 @@ var _ = framework.KubeDescribe("Events", func() {
By("creating the pod") By("creating the pod")
name := "send-events-" + string(uuid.NewUUID()) name := "send-events-" + string(uuid.NewUUID())
value := strconv.Itoa(time.Now().Nanosecond()) value := strconv.Itoa(time.Now().Nanosecond())
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: name, Name: name,
Labels: map[string]string{ Labels: map[string]string{
"name": "foo", "name": "foo",
"time": value, "time": value,
}, },
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "p", Name: "p",
Image: "gcr.io/google_containers/serve_hostname:v1.4", Image: "gcr.io/google_containers/serve_hostname:v1.4",
Ports: []api.ContainerPort{{ContainerPort: 80}}, Ports: []v1.ContainerPort{{ContainerPort: 80}},
}, },
}, },
}, },
...@@ -74,7 +74,7 @@ var _ = framework.KubeDescribe("Events", func() { ...@@ -74,7 +74,7 @@ var _ = framework.KubeDescribe("Events", func() {
By("verifying the pod is in kubernetes") By("verifying the pod is in kubernetes")
selector := labels.SelectorFromSet(labels.Set(map[string]string{"time": value})) selector := labels.SelectorFromSet(labels.Set(map[string]string{"time": value}))
options := api.ListOptions{LabelSelector: selector} options := v1.ListOptions{LabelSelector: selector.String()}
pods, err := podClient.List(options) pods, err := podClient.List(options)
Expect(len(pods.Items)).To(Equal(1)) Expect(len(pods.Items)).To(Equal(1))
...@@ -84,7 +84,7 @@ var _ = framework.KubeDescribe("Events", func() { ...@@ -84,7 +84,7 @@ var _ = framework.KubeDescribe("Events", func() {
framework.Failf("Failed to get pod: %v", err) framework.Failf("Failed to get pod: %v", err)
} }
fmt.Printf("%+v\n", podWithUid) fmt.Printf("%+v\n", podWithUid)
var events *api.EventList var events *v1.EventList
// Check for scheduler event about the pod. // Check for scheduler event about the pod.
By("checking for scheduler event about the pod") By("checking for scheduler event about the pod")
framework.ExpectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) { framework.ExpectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) {
...@@ -92,9 +92,9 @@ var _ = framework.KubeDescribe("Events", func() { ...@@ -92,9 +92,9 @@ var _ = framework.KubeDescribe("Events", func() {
"involvedObject.kind": "Pod", "involvedObject.kind": "Pod",
"involvedObject.uid": string(podWithUid.UID), "involvedObject.uid": string(podWithUid.UID),
"involvedObject.namespace": f.Namespace.Name, "involvedObject.namespace": f.Namespace.Name,
"source": api.DefaultSchedulerName, "source": v1.DefaultSchedulerName,
}.AsSelector() }.AsSelector().String()
options := api.ListOptions{FieldSelector: selector} options := v1.ListOptions{FieldSelector: selector}
events, err := f.ClientSet.Core().Events(f.Namespace.Name).List(options) events, err := f.ClientSet.Core().Events(f.Namespace.Name).List(options)
if err != nil { if err != nil {
return false, err return false, err
...@@ -113,8 +113,8 @@ var _ = framework.KubeDescribe("Events", func() { ...@@ -113,8 +113,8 @@ var _ = framework.KubeDescribe("Events", func() {
"involvedObject.kind": "Pod", "involvedObject.kind": "Pod",
"involvedObject.namespace": f.Namespace.Name, "involvedObject.namespace": f.Namespace.Name,
"source": "kubelet", "source": "kubelet",
}.AsSelector() }.AsSelector().String()
options := api.ListOptions{FieldSelector: selector} options := v1.ListOptions{FieldSelector: selector}
events, err = f.ClientSet.Core().Events(f.Namespace.Name).List(options) events, err = f.ClientSet.Core().Events(f.Namespace.Name).List(options)
if err != nil { if err != nil {
return false, err return false, err
......
...@@ -21,8 +21,8 @@ import ( ...@@ -21,8 +21,8 @@ import (
"path/filepath" "path/filepath"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -73,7 +73,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() { ...@@ -73,7 +73,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() {
// we need two namespaces anyway, so let's forget about // we need two namespaces anyway, so let's forget about
// the one created in BeforeEach and create two new ones. // the one created in BeforeEach and create two new ones.
namespaces := []*api.Namespace{nil, nil} namespaces := []*v1.Namespace{nil, nil}
for i := range namespaces { for i := range namespaces {
var err error var err error
namespaces[i], err = f.CreateNamespace(fmt.Sprintf("dnsexample%d", i), nil) namespaces[i], err = f.CreateNamespace(fmt.Sprintf("dnsexample%d", i), nil)
...@@ -97,7 +97,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() { ...@@ -97,7 +97,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() {
// the application itself may have not been initialized. Just query the application. // the application itself may have not been initialized. Just query the application.
for _, ns := range namespaces { for _, ns := range namespaces {
label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendRcName})) label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendRcName}))
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
pods, err := c.Core().Pods(ns.Name).List(options) pods, err := c.Core().Pods(ns.Name).List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
err = framework.PodsResponding(c, ns.Name, backendPodName, false, pods) err = framework.PodsResponding(c, ns.Name, backendPodName, false, pods)
...@@ -117,7 +117,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() { ...@@ -117,7 +117,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() {
// dns error or timeout. // dns error or timeout.
// This code is probably unnecessary, but let's stay on the safe side. // This code is probably unnecessary, but let's stay on the safe side.
label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendPodName})) label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendPodName}))
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
pods, err := c.Core().Pods(namespaces[0].Name).List(options) pods, err := c.Core().Pods(namespaces[0].Name).List(options)
if err != nil || pods == nil || len(pods.Items) == 0 { if err != nil || pods == nil || len(pods.Items) == 0 {
...@@ -151,6 +151,6 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() { ...@@ -151,6 +151,6 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() {
}) })
}) })
func getNsCmdFlag(ns *api.Namespace) string { func getNsCmdFlag(ns *v1.Namespace) string {
return fmt.Sprintf("--namespace=%v", ns.Name) return fmt.Sprintf("--namespace=%v", ns.Name)
} }
...@@ -25,7 +25,7 @@ import ( ...@@ -25,7 +25,7 @@ import (
"syscall" "syscall"
"time" "time"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
......
...@@ -26,8 +26,8 @@ import ( ...@@ -26,8 +26,8 @@ import (
"sync" "sync"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -49,11 +49,11 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -49,11 +49,11 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
return f.NewClusterVerification( return f.NewClusterVerification(
framework.PodStateVerification{ framework.PodStateVerification{
Selectors: map[string]string{selectorKey: selectorValue}, Selectors: map[string]string{selectorKey: selectorValue},
ValidPhases: []api.PodPhase{api.PodRunning}, ValidPhases: []v1.PodPhase{v1.PodRunning},
}) })
} }
// Customized ForEach wrapper for this test. // Customized ForEach wrapper for this test.
forEachPod := func(selectorKey string, selectorValue string, fn func(api.Pod)) { forEachPod := func(selectorKey string, selectorValue string, fn func(v1.Pod)) {
clusterState(selectorKey, selectorValue).ForEach(fn) clusterState(selectorKey, selectorValue).ForEach(fn)
} }
var c clientset.Interface var c clientset.Interface
...@@ -113,7 +113,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -113,7 +113,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{selectorKey: selectorValue})) label := labels.SelectorFromSet(labels.Set(map[string]string{selectorKey: selectorValue}))
err = testutils.WaitForPodsWithLabelRunning(c, ns, label) err = testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod(selectorKey, selectorValue, func(pod api.Pod) { forEachPod(selectorKey, selectorValue, func(pod v1.Pod) {
if pod.Name != bootstrapPodName { if pod.Name != bootstrapPodName {
_, err := framework.LookForStringInLog(ns, pod.Name, "redis", expectedOnServer, serverStartTimeout) _, err := framework.LookForStringInLog(ns, pod.Name, "redis", expectedOnServer, serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -123,7 +123,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -123,7 +123,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label = labels.SelectorFromSet(labels.Set(map[string]string{selectorKey: selectorValue})) label = labels.SelectorFromSet(labels.Set(map[string]string{selectorKey: selectorValue}))
err = testutils.WaitForPodsWithLabelRunning(c, ns, label) err = testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod(selectorKey, selectorValue, func(pod api.Pod) { forEachPod(selectorKey, selectorValue, func(pod v1.Pod) {
if pod.Name != bootstrapPodName { if pod.Name != bootstrapPodName {
_, err := framework.LookForStringInLog(ns, pod.Name, "sentinel", expectedOnSentinel, serverStartTimeout) _, err := framework.LookForStringInLog(ns, pod.Name, "sentinel", expectedOnSentinel, serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -164,7 +164,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -164,7 +164,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
framework.Logf("Now polling for Master startup...") framework.Logf("Now polling for Master startup...")
// Only one master pod: But its a natural way to look up pod names. // Only one master pod: But its a natural way to look up pod names.
forEachPod(selectorKey, selectorValue, func(pod api.Pod) { forEachPod(selectorKey, selectorValue, func(pod v1.Pod) {
framework.Logf("Now waiting for master to startup in %v", pod.Name) framework.Logf("Now waiting for master to startup in %v", pod.Name)
_, err := framework.LookForStringInLog(ns, pod.Name, "spark-master", "Starting Spark master at", serverStartTimeout) _, err := framework.LookForStringInLog(ns, pod.Name, "spark-master", "Starting Spark master at", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -173,7 +173,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -173,7 +173,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
By("waiting for master endpoint") By("waiting for master endpoint")
err = framework.WaitForEndpoint(c, ns, "spark-master") err = framework.WaitForEndpoint(c, ns, "spark-master")
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod(selectorKey, selectorValue, func(pod api.Pod) { forEachPod(selectorKey, selectorValue, func(pod v1.Pod) {
_, maErr := framework.LookForStringInLog(f.Namespace.Name, pod.Name, "spark-master", "Starting Spark master at", serverStartTimeout) _, maErr := framework.LookForStringInLog(f.Namespace.Name, pod.Name, "spark-master", "Starting Spark master at", serverStartTimeout)
if maErr != nil { if maErr != nil {
framework.Failf("Didn't find target string. error:", maErr) framework.Failf("Didn't find target string. error:", maErr)
...@@ -194,7 +194,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -194,7 +194,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
framework.Logf("Now polling for worker startup...") framework.Logf("Now polling for worker startup...")
forEachPod(selectorKey, selectorValue, forEachPod(selectorKey, selectorValue,
func(pod api.Pod) { func(pod v1.Pod) {
_, slaveErr := framework.LookForStringInLog(ns, pod.Name, "spark-worker", "Successfully registered with master", serverStartTimeout) _, slaveErr := framework.LookForStringInLog(ns, pod.Name, "spark-worker", "Successfully registered with master", serverStartTimeout)
Expect(slaveErr).NotTo(HaveOccurred()) Expect(slaveErr).NotTo(HaveOccurred())
}) })
...@@ -226,7 +226,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -226,7 +226,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{"app": "cassandra"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"app": "cassandra"}))
err = testutils.WaitForPodsWithLabelRunning(c, ns, label) err = testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod("app", "cassandra", func(pod api.Pod) { forEachPod("app", "cassandra", func(pod v1.Pod) {
framework.Logf("Verifying pod %v ", pod.Name) framework.Logf("Verifying pod %v ", pod.Name)
// TODO how do we do this better? Ready Probe? // TODO how do we do this better? Ready Probe?
_, err = framework.LookForStringInLog(ns, pod.Name, "cassandra", "Starting listening for CQL clients", serverStartTimeout) _, err = framework.LookForStringInLog(ns, pod.Name, "cassandra", "Starting listening for CQL clients", serverStartTimeout)
...@@ -234,7 +234,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -234,7 +234,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
}) })
By("Finding each node in the nodetool status lines") By("Finding each node in the nodetool status lines")
forEachPod("app", "cassandra", func(pod api.Pod) { forEachPod("app", "cassandra", func(pod v1.Pod) {
output := framework.RunKubectlOrDie("exec", pod.Name, nsFlag, "--", "nodetool", "status") output := framework.RunKubectlOrDie("exec", pod.Name, nsFlag, "--", "nodetool", "status")
matched, _ := regexp.MatchString("UN.*"+pod.Status.PodIP, output) matched, _ := regexp.MatchString("UN.*"+pod.Status.PodIP, output)
if matched != true { if matched != true {
...@@ -281,7 +281,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -281,7 +281,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{"app": "cassandra"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"app": "cassandra"}))
err = wait.PollImmediate(statefulsetPoll, statefulsetTimeout, err = wait.PollImmediate(statefulsetPoll, statefulsetTimeout,
func() (bool, error) { func() (bool, error) {
podList, err := c.Core().Pods(ns).List(api.ListOptions{LabelSelector: label}) podList, err := c.Core().Pods(ns).List(v1.ListOptions{LabelSelector: label.String()})
if err != nil { if err != nil {
return false, fmt.Errorf("Unable to get list of pods in statefulset %s", label) return false, fmt.Errorf("Unable to get list of pods in statefulset %s", label)
} }
...@@ -294,9 +294,9 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -294,9 +294,9 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
return false, fmt.Errorf("Too many pods scheduled, expected %d got %d", numPets, len(podList.Items)) return false, fmt.Errorf("Too many pods scheduled, expected %d got %d", numPets, len(podList.Items))
} }
for _, p := range podList.Items { for _, p := range podList.Items {
isReady := api.IsPodReady(&p) isReady := v1.IsPodReady(&p)
if p.Status.Phase != api.PodRunning || !isReady { if p.Status.Phase != v1.PodRunning || !isReady {
framework.Logf("Waiting for pod %v to enter %v - Ready=True, currently %v - Ready=%v", p.Name, api.PodRunning, p.Status.Phase, isReady) framework.Logf("Waiting for pod %v to enter %v - Ready=True, currently %v - Ready=%v", p.Name, v1.PodRunning, p.Status.Phase, isReady)
return false, nil return false, nil
} }
} }
...@@ -305,7 +305,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -305,7 +305,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("Finding each node in the nodetool status lines") By("Finding each node in the nodetool status lines")
forEachPod("app", "cassandra", func(pod api.Pod) { forEachPod("app", "cassandra", func(pod v1.Pod) {
output := framework.RunKubectlOrDie("exec", pod.Name, nsFlag, "--", "nodetool", "status") output := framework.RunKubectlOrDie("exec", pod.Name, nsFlag, "--", "nodetool", "status")
matched, _ := regexp.MatchString("UN.*"+pod.Status.PodIP, output) matched, _ := regexp.MatchString("UN.*"+pod.Status.PodIP, output)
if matched != true { if matched != true {
...@@ -357,7 +357,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -357,7 +357,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{"name": "storm-worker"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"name": "storm-worker"}))
err = testutils.WaitForPodsWithLabelRunning(c, ns, label) err = testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod("name", "storm-worker", func(pod api.Pod) { forEachPod("name", "storm-worker", func(pod v1.Pod) {
//do nothing, just wait for the pod to be running //do nothing, just wait for the pod to be running
}) })
// TODO: Add logging configuration to nimbus & workers images and then // TODO: Add logging configuration to nimbus & workers images and then
...@@ -398,7 +398,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -398,7 +398,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
for t := time.Now(); time.Since(t) < timeout; time.Sleep(framework.Poll) { for t := time.Now(); time.Since(t) < timeout; time.Sleep(framework.Poll) {
pod, err := c.Core().Pods(ns).Get(podName) pod, err := c.Core().Pods(ns).Get(podName)
framework.ExpectNoError(err, fmt.Sprintf("getting pod %s", podName)) framework.ExpectNoError(err, fmt.Sprintf("getting pod %s", podName))
stat := api.GetExistingContainerStatus(pod.Status.ContainerStatuses, podName) stat := v1.GetExistingContainerStatus(pod.Status.ContainerStatuses, podName)
framework.Logf("Pod: %s, restart count:%d", stat.Name, stat.RestartCount) framework.Logf("Pod: %s, restart count:%d", stat.Name, stat.RestartCount)
if stat.RestartCount > 0 { if stat.RestartCount > 0 {
framework.Logf("Saw %v restart, succeeded...", podName) framework.Logf("Saw %v restart, succeeded...", podName)
...@@ -494,7 +494,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -494,7 +494,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
err := testutils.WaitForPodsWithLabelRunning(c, ns, label) err := testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
checkDbInstances := func() { checkDbInstances := func() {
forEachPod("db", "rethinkdb", func(pod api.Pod) { forEachPod("db", "rethinkdb", func(pod v1.Pod) {
_, err = framework.LookForStringInLog(ns, pod.Name, "rethinkdb", "Server ready", serverStartTimeout) _, err = framework.LookForStringInLog(ns, pod.Name, "rethinkdb", "Server ready", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
}) })
...@@ -504,7 +504,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -504,7 +504,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("scaling rethinkdb") By("scaling rethinkdb")
framework.ScaleRC(f.ClientSet, ns, "rethinkdb-rc", 2, true) framework.ScaleRC(f.ClientSet, f.InternalClientset, ns, "rethinkdb-rc", 2, true)
checkDbInstances() checkDbInstances()
By("starting admin") By("starting admin")
...@@ -536,7 +536,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -536,7 +536,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{"name": "hazelcast"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"name": "hazelcast"}))
err := testutils.WaitForPodsWithLabelRunning(c, ns, label) err := testutils.WaitForPodsWithLabelRunning(c, ns, label)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
forEachPod("name", "hazelcast", func(pod api.Pod) { forEachPod("name", "hazelcast", func(pod v1.Pod) {
_, err := framework.LookForStringInLog(ns, pod.Name, "hazelcast", "Members [1]", serverStartTimeout) _, err := framework.LookForStringInLog(ns, pod.Name, "hazelcast", "Members [1]", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
_, err = framework.LookForStringInLog(ns, pod.Name, "hazelcast", "is STARTED", serverStartTimeout) _, err = framework.LookForStringInLog(ns, pod.Name, "hazelcast", "is STARTED", serverStartTimeout)
...@@ -547,8 +547,8 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() { ...@@ -547,8 +547,8 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("scaling hazelcast") By("scaling hazelcast")
framework.ScaleRC(f.ClientSet, ns, "hazelcast", 2, true) framework.ScaleRC(f.ClientSet, f.InternalClientset, ns, "hazelcast", 2, true)
forEachPod("name", "hazelcast", func(pod api.Pod) { forEachPod("name", "hazelcast", func(pod v1.Pod) {
_, err := framework.LookForStringInLog(ns, pod.Name, "hazelcast", "Members [2]", serverStartTimeout) _, err := framework.LookForStringInLog(ns, pod.Name, "hazelcast", "Members [2]", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
}) })
......
...@@ -23,8 +23,8 @@ import ( ...@@ -23,8 +23,8 @@ import (
"time" "time"
clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5/typed/core/v1" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5/typed/core/v1"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/v1"
api_v1 "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
...@@ -111,7 +111,7 @@ var _ = framework.KubeDescribe("Federation namespace [Feature:Federation]", func ...@@ -111,7 +111,7 @@ var _ = framework.KubeDescribe("Federation namespace [Feature:Federation]", func
// Create resources in the namespace. // Create resources in the namespace.
event := api_v1.Event{ event := api_v1.Event{
ObjectMeta: api_v1.ObjectMeta{ ObjectMeta: api_v1.ObjectMeta{
Name: api.SimpleNameGenerator.GenerateName(eventNamePrefix), Name: v1.SimpleNameGenerator.GenerateName(eventNamePrefix),
Namespace: nsName, Namespace: nsName,
}, },
InvolvedObject: api_v1.ObjectReference{ InvolvedObject: api_v1.ObjectReference{
...@@ -185,7 +185,7 @@ func verifyNsCascadingDeletion(nsClient clientset.NamespaceInterface, clusters m ...@@ -185,7 +185,7 @@ func verifyNsCascadingDeletion(nsClient clientset.NamespaceInterface, clusters m
func createNamespace(nsClient clientset.NamespaceInterface) string { func createNamespace(nsClient clientset.NamespaceInterface) string {
ns := api_v1.Namespace{ ns := api_v1.Namespace{
ObjectMeta: api_v1.ObjectMeta{ ObjectMeta: api_v1.ObjectMeta{
Name: api.SimpleNameGenerator.GenerateName(namespacePrefix), Name: v1.SimpleNameGenerator.GenerateName(namespacePrefix),
}, },
} }
By(fmt.Sprintf("Creating namespace %s", ns.Name)) By(fmt.Sprintf("Creating namespace %s", ns.Name))
......
...@@ -25,7 +25,6 @@ import ( ...@@ -25,7 +25,6 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5"
"k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
...@@ -156,7 +155,7 @@ func createSecretOrFail(clientset *fedclientset.Clientset, nsName string) *v1.Se ...@@ -156,7 +155,7 @@ func createSecretOrFail(clientset *fedclientset.Clientset, nsName string) *v1.Se
secret := &v1.Secret{ secret := &v1.Secret{
ObjectMeta: v1.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: api.SimpleNameGenerator.GenerateName(secretNamePrefix), Name: v1.SimpleNameGenerator.GenerateName(secretNamePrefix),
Namespace: nsName, Namespace: nsName,
}, },
} }
......
...@@ -347,7 +347,7 @@ func cleanupServiceShardLoadBalancer(clusterName string, service *v1.Service, ti ...@@ -347,7 +347,7 @@ func cleanupServiceShardLoadBalancer(clusterName string, service *v1.Service, ti
return fmt.Errorf("cloud provider undefined") return fmt.Errorf("cloud provider undefined")
} }
internalSvc := &api.Service{} internalSvc := &v1.Service{}
err := api.Scheme.Convert(service, internalSvc, nil) err := api.Scheme.Convert(service, internalSvc, nil)
if err != nil { if err != nil {
return fmt.Errorf("failed to convert versioned service object to internal type: %v", err) return fmt.Errorf("failed to convert versioned service object to internal type: %v", err)
...@@ -415,19 +415,19 @@ func discoverService(f *framework.Framework, name string, exists bool, podName s ...@@ -415,19 +415,19 @@ func discoverService(f *framework.Framework, name string, exists bool, podName s
command := []string{"sh", "-c", fmt.Sprintf("until nslookup '%s'; do sleep 10; done", name)} command := []string{"sh", "-c", fmt.Sprintf("until nslookup '%s'; do sleep 10; done", name)}
By(fmt.Sprintf("Looking up %q", name)) By(fmt.Sprintf("Looking up %q", name))
pod := &api.Pod{ pod := &v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "federated-service-discovery-container", Name: "federated-service-discovery-container",
Image: "gcr.io/google_containers/busybox:1.24", Image: "gcr.io/google_containers/busybox:1.24",
Command: command, Command: command,
}, },
}, },
RestartPolicy: api.RestartPolicyOnFailure, RestartPolicy: v1.RestartPolicyOnFailure,
}, },
} }
...@@ -438,7 +438,7 @@ func discoverService(f *framework.Framework, name string, exists bool, podName s ...@@ -438,7 +438,7 @@ func discoverService(f *framework.Framework, name string, exists bool, podName s
By(fmt.Sprintf("Successfully created pod %q in namespace %q", pod.Name, nsName)) By(fmt.Sprintf("Successfully created pod %q in namespace %q", pod.Name, nsName))
defer func() { defer func() {
By(fmt.Sprintf("Deleting pod %q from namespace %q", podName, nsName)) By(fmt.Sprintf("Deleting pod %q from namespace %q", podName, nsName))
err := f.ClientSet.Core().Pods(nsName).Delete(podName, api.NewDeleteOptions(0)) err := f.ClientSet.Core().Pods(nsName).Delete(podName, v1.NewDeleteOptions(0))
framework.ExpectNoError(err, "Deleting pod %q from namespace %q", podName, nsName) framework.ExpectNoError(err, "Deleting pod %q from namespace %q", podName, nsName)
By(fmt.Sprintf("Deleted pod %q from namespace %q", podName, nsName)) By(fmt.Sprintf("Deleted pod %q from namespace %q", podName, nsName))
}() }()
......
...@@ -23,6 +23,7 @@ import ( ...@@ -23,6 +23,7 @@ import (
"strings" "strings"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/unversioned/remotecommand" "k8s.io/kubernetes/pkg/client/unversioned/remotecommand"
remotecommandserver "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" remotecommandserver "k8s.io/kubernetes/pkg/kubelet/server/remotecommand"
...@@ -62,7 +63,7 @@ func (f *Framework) ExecWithOptions(options ExecOptions) (string, string, error) ...@@ -62,7 +63,7 @@ func (f *Framework) ExecWithOptions(options ExecOptions) (string, string, error)
Namespace(options.Namespace). Namespace(options.Namespace).
SubResource("exec"). SubResource("exec").
Param("container", options.ContainerName) Param("container", options.ContainerName)
req.VersionedParams(&api.PodExecOptions{ req.VersionedParams(&v1.PodExecOptions{
Container: options.ContainerName, Container: options.ContainerName,
Command: options.Command, Command: options.Command,
Stdin: options.Stdin != nil, Stdin: options.Stdin != nil,
......
...@@ -29,8 +29,8 @@ import ( ...@@ -29,8 +29,8 @@ import (
cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapi "github.com/google/cadvisor/info/v1"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats"
kubeletmetrics "k8s.io/kubernetes/pkg/kubelet/metrics" kubeletmetrics "k8s.io/kubernetes/pkg/kubelet/metrics"
kubeletstats "k8s.io/kubernetes/pkg/kubelet/server/stats" kubeletstats "k8s.io/kubernetes/pkg/kubelet/server/stats"
...@@ -157,7 +157,7 @@ func NewRuntimeOperationMonitor(c clientset.Interface) *RuntimeOperationMonitor ...@@ -157,7 +157,7 @@ func NewRuntimeOperationMonitor(c clientset.Interface) *RuntimeOperationMonitor
client: c, client: c,
nodesRuntimeOps: make(map[string]NodeRuntimeOperationErrorRate), nodesRuntimeOps: make(map[string]NodeRuntimeOperationErrorRate),
} }
nodes, err := m.client.Core().Nodes().List(api.ListOptions{}) nodes, err := m.client.Core().Nodes().List(v1.ListOptions{})
if err != nil { if err != nil {
Failf("RuntimeOperationMonitor: unable to get list of nodes: %v", err) Failf("RuntimeOperationMonitor: unable to get list of nodes: %v", err)
} }
...@@ -695,7 +695,7 @@ func NewResourceMonitor(c clientset.Interface, containerNames []string, pollingI ...@@ -695,7 +695,7 @@ func NewResourceMonitor(c clientset.Interface, containerNames []string, pollingI
func (r *ResourceMonitor) Start() { func (r *ResourceMonitor) Start() {
// It should be OK to monitor unschedulable Nodes // It should be OK to monitor unschedulable Nodes
nodes, err := r.client.Core().Nodes().List(api.ListOptions{}) nodes, err := r.client.Core().Nodes().List(v1.ListOptions{})
if err != nil { if err != nil {
Failf("ResourceMonitor: unable to get list of nodes: %v", err) Failf("ResourceMonitor: unable to get list of nodes: %v", err)
} }
......
...@@ -25,7 +25,7 @@ import ( ...@@ -25,7 +25,7 @@ import (
"text/tabwriter" "text/tabwriter"
"time" "time"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
) )
const ( const (
......
...@@ -28,7 +28,8 @@ import ( ...@@ -28,7 +28,8 @@ import (
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/master/ports"
"k8s.io/kubernetes/pkg/metrics" "k8s.io/kubernetes/pkg/metrics"
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
...@@ -323,7 +324,7 @@ func getSchedulingLatency(c clientset.Interface) (SchedulingLatency, error) { ...@@ -323,7 +324,7 @@ func getSchedulingLatency(c clientset.Interface) (SchedulingLatency, error) {
result := SchedulingLatency{} result := SchedulingLatency{}
// Check if master Node is registered // Check if master Node is registered
nodes, err := c.Core().Nodes().List(api.ListOptions{}) nodes, err := c.Core().Nodes().List(v1.ListOptions{})
ExpectNoError(err) ExpectNoError(err)
var data string var data string
......
...@@ -22,8 +22,8 @@ import ( ...@@ -22,8 +22,8 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
) )
...@@ -141,15 +141,15 @@ func nodeUpgradeGKE(v string, img string) error { ...@@ -141,15 +141,15 @@ func nodeUpgradeGKE(v string, img string) error {
// nodes it finds. // nodes it finds.
func CheckNodesReady(c clientset.Interface, nt time.Duration, expect int) ([]string, error) { func CheckNodesReady(c clientset.Interface, nt time.Duration, expect int) ([]string, error) {
// First, keep getting all of the nodes until we get the number we expect. // First, keep getting all of the nodes until we get the number we expect.
var nodeList *api.NodeList var nodeList *v1.NodeList
var errLast error var errLast error
start := time.Now() start := time.Now()
found := wait.Poll(Poll, nt, func() (bool, error) { found := wait.Poll(Poll, nt, func() (bool, error) {
// A rolling-update (GCE/GKE implementation of restart) can complete before the apiserver // A rolling-update (GCE/GKE implementation of restart) can complete before the apiserver
// knows about all of the nodes. Thus, we retry the list nodes call // knows about all of the nodes. Thus, we retry the list nodes call
// until we get the expected number of nodes. // until we get the expected number of nodes.
nodeList, errLast = c.Core().Nodes().List(api.ListOptions{ nodeList, errLast = c.Core().Nodes().List(v1.ListOptions{
FieldSelector: fields.Set{"spec.unschedulable": "false"}.AsSelector()}) FieldSelector: fields.Set{"spec.unschedulable": "false"}.AsSelector().String()})
if errLast != nil { if errLast != nil {
return false, nil return false, nil
} }
......
...@@ -22,9 +22,9 @@ import ( ...@@ -22,9 +22,9 @@ import (
"sync" "sync"
"time" "time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/errors"
unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/api/v1"
v1core "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
...@@ -50,11 +50,11 @@ func (f *Framework) PodClient() *PodClient { ...@@ -50,11 +50,11 @@ func (f *Framework) PodClient() *PodClient {
type PodClient struct { type PodClient struct {
f *Framework f *Framework
unversionedcore.PodInterface v1core.PodInterface
} }
// Create creates a new pod according to the framework specifications (don't wait for it to start). // Create creates a new pod according to the framework specifications (don't wait for it to start).
func (c *PodClient) Create(pod *api.Pod) *api.Pod { func (c *PodClient) Create(pod *v1.Pod) *v1.Pod {
c.mungeSpec(pod) c.mungeSpec(pod)
p, err := c.PodInterface.Create(pod) p, err := c.PodInterface.Create(pod)
ExpectNoError(err, "Error creating Pod") ExpectNoError(err, "Error creating Pod")
...@@ -62,7 +62,7 @@ func (c *PodClient) Create(pod *api.Pod) *api.Pod { ...@@ -62,7 +62,7 @@ func (c *PodClient) Create(pod *api.Pod) *api.Pod {
} }
// CreateSync creates a new pod according to the framework specifications, and wait for it to start. // CreateSync creates a new pod according to the framework specifications, and wait for it to start.
func (c *PodClient) CreateSync(pod *api.Pod) *api.Pod { func (c *PodClient) CreateSync(pod *v1.Pod) *v1.Pod {
p := c.Create(pod) p := c.Create(pod)
ExpectNoError(c.f.WaitForPodRunning(p.Name)) ExpectNoError(c.f.WaitForPodRunning(p.Name))
// Get the newest pod after it becomes running, some status may change after pod created, such as pod ip. // Get the newest pod after it becomes running, some status may change after pod created, such as pod ip.
...@@ -72,12 +72,12 @@ func (c *PodClient) CreateSync(pod *api.Pod) *api.Pod { ...@@ -72,12 +72,12 @@ func (c *PodClient) CreateSync(pod *api.Pod) *api.Pod {
} }
// CreateBatch create a batch of pods. All pods are created before waiting. // CreateBatch create a batch of pods. All pods are created before waiting.
func (c *PodClient) CreateBatch(pods []*api.Pod) []*api.Pod { func (c *PodClient) CreateBatch(pods []*v1.Pod) []*v1.Pod {
ps := make([]*api.Pod, len(pods)) ps := make([]*v1.Pod, len(pods))
var wg sync.WaitGroup var wg sync.WaitGroup
for i, pod := range pods { for i, pod := range pods {
wg.Add(1) wg.Add(1)
go func(i int, pod *api.Pod) { go func(i int, pod *v1.Pod) {
defer wg.Done() defer wg.Done()
defer GinkgoRecover() defer GinkgoRecover()
ps[i] = c.CreateSync(pod) ps[i] = c.CreateSync(pod)
...@@ -90,7 +90,7 @@ func (c *PodClient) CreateBatch(pods []*api.Pod) []*api.Pod { ...@@ -90,7 +90,7 @@ func (c *PodClient) CreateBatch(pods []*api.Pod) []*api.Pod {
// Update updates the pod object. It retries if there is a conflict, throw out error if // Update updates the pod object. It retries if there is a conflict, throw out error if
// there is any other errors. name is the pod name, updateFn is the function updating the // there is any other errors. name is the pod name, updateFn is the function updating the
// pod object. // pod object.
func (c *PodClient) Update(name string, updateFn func(pod *api.Pod)) { func (c *PodClient) Update(name string, updateFn func(pod *v1.Pod)) {
ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*30, func() (bool, error) { ExpectNoError(wait.Poll(time.Millisecond*500, time.Second*30, func() (bool, error) {
pod, err := c.PodInterface.Get(name) pod, err := c.PodInterface.Get(name)
if err != nil { if err != nil {
...@@ -112,7 +112,7 @@ func (c *PodClient) Update(name string, updateFn func(pod *api.Pod)) { ...@@ -112,7 +112,7 @@ func (c *PodClient) Update(name string, updateFn func(pod *api.Pod)) {
// DeleteSync deletes the pod and wait for the pod to disappear for `timeout`. If the pod doesn't // DeleteSync deletes the pod and wait for the pod to disappear for `timeout`. If the pod doesn't
// disappear before the timeout, it will fail the test. // disappear before the timeout, it will fail the test.
func (c *PodClient) DeleteSync(name string, options *api.DeleteOptions, timeout time.Duration) { func (c *PodClient) DeleteSync(name string, options *v1.DeleteOptions, timeout time.Duration) {
err := c.Delete(name, options) err := c.Delete(name, options)
if err != nil && !errors.IsNotFound(err) { if err != nil && !errors.IsNotFound(err) {
Failf("Failed to delete pod %q: %v", name, err) Failf("Failed to delete pod %q: %v", name, err)
...@@ -122,7 +122,7 @@ func (c *PodClient) DeleteSync(name string, options *api.DeleteOptions, timeout ...@@ -122,7 +122,7 @@ func (c *PodClient) DeleteSync(name string, options *api.DeleteOptions, timeout
} }
// mungeSpec apply test-suite specific transformations to the pod spec. // mungeSpec apply test-suite specific transformations to the pod spec.
func (c *PodClient) mungeSpec(pod *api.Pod) { func (c *PodClient) mungeSpec(pod *v1.Pod) {
if !TestContext.NodeE2E { if !TestContext.NodeE2E {
return return
} }
...@@ -131,7 +131,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) { ...@@ -131,7 +131,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) {
pod.Spec.NodeName = TestContext.NodeName pod.Spec.NodeName = TestContext.NodeName
// Node e2e does not support the default DNSClusterFirst policy. Set // Node e2e does not support the default DNSClusterFirst policy. Set
// the policy to DNSDefault, which is configured per node. // the policy to DNSDefault, which is configured per node.
pod.Spec.DNSPolicy = api.DNSDefault pod.Spec.DNSPolicy = v1.DNSDefault
// PrepullImages only works for node e2e now. For cluster e2e, image prepull is not enforced, // PrepullImages only works for node e2e now. For cluster e2e, image prepull is not enforced,
// we should not munge ImagePullPolicy for cluster e2e pods. // we should not munge ImagePullPolicy for cluster e2e pods.
...@@ -142,7 +142,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) { ...@@ -142,7 +142,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) {
// during the test. // during the test.
for i := range pod.Spec.Containers { for i := range pod.Spec.Containers {
c := &pod.Spec.Containers[i] c := &pod.Spec.Containers[i]
if c.ImagePullPolicy == api.PullAlways { if c.ImagePullPolicy == v1.PullAlways {
// If the image pull policy is PullAlways, the image doesn't need to be in // If the image pull policy is PullAlways, the image doesn't need to be in
// the white list or pre-pulled, because the image is expected to be pulled // the white list or pre-pulled, because the image is expected to be pulled
// in the test anyway. // in the test anyway.
...@@ -153,7 +153,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) { ...@@ -153,7 +153,7 @@ func (c *PodClient) mungeSpec(pod *api.Pod) {
Expect(ImageWhiteList.Has(c.Image)).To(BeTrue(), "Image %q is not in the white list, consider adding it to CommonImageWhiteList in test/e2e/common/util.go or NodeImageWhiteList in test/e2e_node/image_list.go", c.Image) Expect(ImageWhiteList.Has(c.Image)).To(BeTrue(), "Image %q is not in the white list, consider adding it to CommonImageWhiteList in test/e2e/common/util.go or NodeImageWhiteList in test/e2e_node/image_list.go", c.Image)
// Do not pull images during the tests because the images in white list should have // Do not pull images during the tests because the images in white list should have
// been prepulled. // been prepulled.
c.ImagePullPolicy = api.PullNever c.ImagePullPolicy = v1.PullNever
} }
} }
...@@ -162,11 +162,11 @@ func (c *PodClient) mungeSpec(pod *api.Pod) { ...@@ -162,11 +162,11 @@ func (c *PodClient) mungeSpec(pod *api.Pod) {
func (c *PodClient) WaitForSuccess(name string, timeout time.Duration) { func (c *PodClient) WaitForSuccess(name string, timeout time.Duration) {
f := c.f f := c.f
Expect(waitForPodCondition(f.ClientSet, f.Namespace.Name, name, "success or failure", timeout, Expect(waitForPodCondition(f.ClientSet, f.Namespace.Name, name, "success or failure", timeout,
func(pod *api.Pod) (bool, error) { func(pod *v1.Pod) (bool, error) {
switch pod.Status.Phase { switch pod.Status.Phase {
case api.PodFailed: case v1.PodFailed:
return true, fmt.Errorf("pod %q failed with reason: %q, message: %q", name, pod.Status.Reason, pod.Status.Message) return true, fmt.Errorf("pod %q failed with reason: %q, message: %q", name, pod.Status.Reason, pod.Status.Message)
case api.PodSucceeded: case v1.PodSucceeded:
return true, nil return true, nil
default: default:
return false, nil return false, nil
......
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