refactor: Move versioned/watch to meta/v1

This commit is contained in:
Clayton Coleman
2017-01-04 15:14:42 -05:00
parent b7d03ed3d5
commit e5019de260
63 changed files with 700 additions and 469 deletions

View File

@@ -29,7 +29,7 @@ import (
)
func roundTrip(t *testing.T, obj runtime.Object) runtime.Object {
codec := api.Codecs.LegacyCodec(versioned.SchemeGroupVersion)
codec := api.Codecs.LegacyCodec(metav1.SchemeGroupVersion)
data, err := runtime.Encode(codec, obj)
if err != nil {
t.Errorf("%v\n %#v", err, obj)
@@ -51,15 +51,15 @@ func roundTrip(t *testing.T, obj runtime.Object) runtime.Object {
func TestSetDefaultReplicationController(t *testing.T) {
tests := []struct {
rc *versioned.ReplicationController
rc *metav1.ReplicationController
expectLabels bool
expectSelector bool
}{
{
rc: &versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
rc: &metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -71,15 +71,15 @@ func TestSetDefaultReplicationController(t *testing.T) {
expectSelector: true,
},
{
rc: &versioned.ReplicationController{
ObjectMeta: versioned.ObjectMeta{
rc: &metav1.ReplicationController{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"bar": "foo",
},
},
Spec: versioned.ReplicationControllerSpec{
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Spec: metav1.ReplicationControllerSpec{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -91,18 +91,18 @@ func TestSetDefaultReplicationController(t *testing.T) {
expectSelector: true,
},
{
rc: &versioned.ReplicationController{
ObjectMeta: versioned.ObjectMeta{
rc: &metav1.ReplicationController{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"bar": "foo",
},
},
Spec: versioned.ReplicationControllerSpec{
Spec: metav1.ReplicationControllerSpec{
Selector: map[string]string{
"some": "other",
},
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -114,13 +114,13 @@ func TestSetDefaultReplicationController(t *testing.T) {
expectSelector: false,
},
{
rc: &versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
rc: &metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Selector: map[string]string{
"some": "other",
},
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -136,7 +136,7 @@ func TestSetDefaultReplicationController(t *testing.T) {
for _, test := range tests {
rc := test.rc
obj2 := roundTrip(t, runtime.Object(rc))
rc2, ok := obj2.(*versioned.ReplicationController)
rc2, ok := obj2.(*metav1.ReplicationController)
if !ok {
t.Errorf("unexpected object: %v", rc2)
t.FailNow()
@@ -166,14 +166,14 @@ func newInt(val int32) *int32 {
func TestSetDefaultReplicationControllerReplicas(t *testing.T) {
tests := []struct {
rc versioned.ReplicationController
rc metav1.ReplicationController
expectReplicas int32
}{
{
rc: versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
rc: metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -184,11 +184,11 @@ func TestSetDefaultReplicationControllerReplicas(t *testing.T) {
expectReplicas: 1,
},
{
rc: versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
rc: metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Replicas: newInt(0),
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -199,11 +199,11 @@ func TestSetDefaultReplicationControllerReplicas(t *testing.T) {
expectReplicas: 0,
},
{
rc: versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
rc: metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Replicas: newInt(3),
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -218,7 +218,7 @@ func TestSetDefaultReplicationControllerReplicas(t *testing.T) {
for _, test := range tests {
rc := &test.rc
obj2 := roundTrip(t, runtime.Object(rc))
rc2, ok := obj2.(*versioned.ReplicationController)
rc2, ok := obj2.(*metav1.ReplicationController)
if !ok {
t.Errorf("unexpected object: %v", rc2)
t.FailNow()
@@ -247,14 +247,14 @@ func TestSetDefaultReplicationControllerImagePullPolicy(t *testing.T) {
})
tests := []struct {
rc versioned.ReplicationController
expectPullPolicy versioned.PullPolicy
rc metav1.ReplicationController
expectPullPolicy metav1.PullPolicy
}{
{
rc: versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
rc: metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
"pod.beta.kubernetes.io/init-containers": string(containersWithoutPullPolicy),
},
@@ -262,13 +262,13 @@ func TestSetDefaultReplicationControllerImagePullPolicy(t *testing.T) {
},
},
},
expectPullPolicy: versioned.PullAlways,
expectPullPolicy: metav1.PullAlways,
},
{
rc: versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
rc: metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
"pod.beta.kubernetes.io/init-containers": string(containersWithPullPolicy),
},
@@ -276,14 +276,14 @@ func TestSetDefaultReplicationControllerImagePullPolicy(t *testing.T) {
},
},
},
expectPullPolicy: versioned.PullIfNotPresent,
expectPullPolicy: metav1.PullIfNotPresent,
},
}
for _, test := range tests {
rc := &test.rc
obj2 := roundTrip(t, runtime.Object(rc))
rc2, ok := obj2.(*versioned.ReplicationController)
rc2, ok := obj2.(*metav1.ReplicationController)
if !ok {
t.Errorf("unexpected object: %v", rc2)
t.FailNow()
@@ -298,33 +298,33 @@ func TestSetDefaultReplicationControllerImagePullPolicy(t *testing.T) {
}
func TestSetDefaultService(t *testing.T) {
svc := &versioned.Service{}
svc := &metav1.Service{}
obj2 := roundTrip(t, runtime.Object(svc))
svc2 := obj2.(*versioned.Service)
if svc2.Spec.SessionAffinity != versioned.ServiceAffinityNone {
t.Errorf("Expected default session affinity type:%s, got: %s", versioned.ServiceAffinityNone, svc2.Spec.SessionAffinity)
svc2 := obj2.(*metav1.Service)
if svc2.Spec.SessionAffinity != metav1.ServiceAffinityNone {
t.Errorf("Expected default session affinity type:%s, got: %s", metav1.ServiceAffinityNone, svc2.Spec.SessionAffinity)
}
if svc2.Spec.Type != versioned.ServiceTypeClusterIP {
t.Errorf("Expected default type:%s, got: %s", versioned.ServiceTypeClusterIP, svc2.Spec.Type)
if svc2.Spec.Type != metav1.ServiceTypeClusterIP {
t.Errorf("Expected default type:%s, got: %s", metav1.ServiceTypeClusterIP, svc2.Spec.Type)
}
}
func TestSetDefaultSecretVolumeSource(t *testing.T) {
s := versioned.PodSpec{}
s.Volumes = []versioned.Volume{
s := metav1.PodSpec{}
s.Volumes = []metav1.Volume{
{
VolumeSource: versioned.VolumeSource{
Secret: &versioned.SecretVolumeSource{},
VolumeSource: metav1.VolumeSource{
Secret: &metav1.SecretVolumeSource{},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
output := roundTrip(t, runtime.Object(pod))
pod2 := output.(*versioned.Pod)
pod2 := output.(*metav1.Pod)
defaultMode := pod2.Spec.Volumes[0].VolumeSource.Secret.DefaultMode
expectedMode := versioned.SecretVolumeSourceDefaultMode
expectedMode := metav1.SecretVolumeSourceDefaultMode
if defaultMode == nil || *defaultMode != expectedMode {
t.Errorf("Expected secret DefaultMode %v, got %v", expectedMode, defaultMode)
@@ -332,21 +332,21 @@ func TestSetDefaultSecretVolumeSource(t *testing.T) {
}
func TestSetDefaultConfigMapVolumeSource(t *testing.T) {
s := versioned.PodSpec{}
s.Volumes = []versioned.Volume{
s := metav1.PodSpec{}
s.Volumes = []metav1.Volume{
{
VolumeSource: versioned.VolumeSource{
ConfigMap: &versioned.ConfigMapVolumeSource{},
VolumeSource: metav1.VolumeSource{
ConfigMap: &metav1.ConfigMapVolumeSource{},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
output := roundTrip(t, runtime.Object(pod))
pod2 := output.(*versioned.Pod)
pod2 := output.(*metav1.Pod)
defaultMode := pod2.Spec.Volumes[0].VolumeSource.ConfigMap.DefaultMode
expectedMode := versioned.ConfigMapVolumeSourceDefaultMode
expectedMode := metav1.ConfigMapVolumeSourceDefaultMode
if defaultMode == nil || *defaultMode != expectedMode {
t.Errorf("Expected ConfigMap DefaultMode %v, got %v", expectedMode, defaultMode)
@@ -354,21 +354,21 @@ func TestSetDefaultConfigMapVolumeSource(t *testing.T) {
}
func TestSetDefaultDownwardAPIVolumeSource(t *testing.T) {
s := versioned.PodSpec{}
s.Volumes = []versioned.Volume{
s := metav1.PodSpec{}
s.Volumes = []metav1.Volume{
{
VolumeSource: versioned.VolumeSource{
DownwardAPI: &versioned.DownwardAPIVolumeSource{},
VolumeSource: metav1.VolumeSource{
DownwardAPI: &metav1.DownwardAPIVolumeSource{},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
output := roundTrip(t, runtime.Object(pod))
pod2 := output.(*versioned.Pod)
pod2 := output.(*metav1.Pod)
defaultMode := pod2.Spec.Volumes[0].VolumeSource.DownwardAPI.DefaultMode
expectedMode := versioned.DownwardAPIVolumeSourceDefaultMode
expectedMode := metav1.DownwardAPIVolumeSourceDefaultMode
if defaultMode == nil || *defaultMode != expectedMode {
t.Errorf("Expected DownwardAPI DefaultMode %v, got %v", expectedMode, defaultMode)
@@ -376,50 +376,50 @@ func TestSetDefaultDownwardAPIVolumeSource(t *testing.T) {
}
func TestSetDefaultSecret(t *testing.T) {
s := &versioned.Secret{}
s := &metav1.Secret{}
obj2 := roundTrip(t, runtime.Object(s))
s2 := obj2.(*versioned.Secret)
s2 := obj2.(*metav1.Secret)
if s2.Type != versioned.SecretTypeOpaque {
t.Errorf("Expected secret type %v, got %v", versioned.SecretTypeOpaque, s2.Type)
if s2.Type != metav1.SecretTypeOpaque {
t.Errorf("Expected secret type %v, got %v", metav1.SecretTypeOpaque, s2.Type)
}
}
func TestSetDefaultPersistentVolume(t *testing.T) {
pv := &versioned.PersistentVolume{}
pv := &metav1.PersistentVolume{}
obj2 := roundTrip(t, runtime.Object(pv))
pv2 := obj2.(*versioned.PersistentVolume)
pv2 := obj2.(*metav1.PersistentVolume)
if pv2.Status.Phase != versioned.VolumePending {
t.Errorf("Expected volume phase %v, got %v", versioned.VolumePending, pv2.Status.Phase)
if pv2.Status.Phase != metav1.VolumePending {
t.Errorf("Expected volume phase %v, got %v", metav1.VolumePending, pv2.Status.Phase)
}
if pv2.Spec.PersistentVolumeReclaimPolicy != versioned.PersistentVolumeReclaimRetain {
t.Errorf("Expected pv reclaim policy %v, got %v", versioned.PersistentVolumeReclaimRetain, pv2.Spec.PersistentVolumeReclaimPolicy)
if pv2.Spec.PersistentVolumeReclaimPolicy != metav1.PersistentVolumeReclaimRetain {
t.Errorf("Expected pv reclaim policy %v, got %v", metav1.PersistentVolumeReclaimRetain, pv2.Spec.PersistentVolumeReclaimPolicy)
}
}
func TestSetDefaultPersistentVolumeClaim(t *testing.T) {
pvc := &versioned.PersistentVolumeClaim{}
pvc := &metav1.PersistentVolumeClaim{}
obj2 := roundTrip(t, runtime.Object(pvc))
pvc2 := obj2.(*versioned.PersistentVolumeClaim)
pvc2 := obj2.(*metav1.PersistentVolumeClaim)
if pvc2.Status.Phase != versioned.ClaimPending {
t.Errorf("Expected claim phase %v, got %v", versioned.ClaimPending, pvc2.Status.Phase)
if pvc2.Status.Phase != metav1.ClaimPending {
t.Errorf("Expected claim phase %v, got %v", metav1.ClaimPending, pvc2.Status.Phase)
}
}
func TestSetDefaulEndpointsProtocol(t *testing.T) {
in := &versioned.Endpoints{Subsets: []versioned.EndpointSubset{
{Ports: []versioned.EndpointPort{{}, {Protocol: "UDP"}, {}}},
in := &metav1.Endpoints{Subsets: []metav1.EndpointSubset{
{Ports: []metav1.EndpointPort{{}, {Protocol: "UDP"}, {}}},
}}
obj := roundTrip(t, runtime.Object(in))
out := obj.(*versioned.Endpoints)
out := obj.(*metav1.Endpoints)
for i := range out.Subsets {
for j := range out.Subsets[i].Ports {
if in.Subsets[i].Ports[j].Protocol == "" {
if out.Subsets[i].Ports[j].Protocol != versioned.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Subsets[i].Ports[j].Protocol)
if out.Subsets[i].Ports[j].Protocol != metav1.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", metav1.ProtocolTCP, out.Subsets[i].Ports[j].Protocol)
}
} else {
if out.Subsets[i].Ports[j].Protocol != in.Subsets[i].Ports[j].Protocol {
@@ -431,16 +431,16 @@ func TestSetDefaulEndpointsProtocol(t *testing.T) {
}
func TestSetDefaulServiceTargetPort(t *testing.T) {
in := &versioned.Service{Spec: versioned.ServiceSpec{Ports: []versioned.ServicePort{{Port: 1234}}}}
in := &metav1.Service{Spec: metav1.ServiceSpec{Ports: []metav1.ServicePort{{Port: 1234}}}}
obj := roundTrip(t, runtime.Object(in))
out := obj.(*versioned.Service)
out := obj.(*metav1.Service)
if out.Spec.Ports[0].TargetPort != intstr.FromInt(1234) {
t.Errorf("Expected TargetPort to be defaulted, got %v", out.Spec.Ports[0].TargetPort)
}
in = &versioned.Service{Spec: versioned.ServiceSpec{Ports: []versioned.ServicePort{{Port: 1234, TargetPort: intstr.FromInt(5678)}}}}
in = &metav1.Service{Spec: metav1.ServiceSpec{Ports: []metav1.ServicePort{{Port: 1234, TargetPort: intstr.FromInt(5678)}}}}
obj = roundTrip(t, runtime.Object(in))
out = obj.(*versioned.Service)
out = obj.(*metav1.Service)
if out.Spec.Ports[0].TargetPort != intstr.FromInt(5678) {
t.Errorf("Expected TargetPort to be unchanged, got %v", out.Spec.Ports[0].TargetPort)
}
@@ -448,42 +448,42 @@ func TestSetDefaulServiceTargetPort(t *testing.T) {
func TestSetDefaultServicePort(t *testing.T) {
// Unchanged if set.
in := &versioned.Service{Spec: versioned.ServiceSpec{
Ports: []versioned.ServicePort{
in := &metav1.Service{Spec: metav1.ServiceSpec{
Ports: []metav1.ServicePort{
{Protocol: "UDP", Port: 9376, TargetPort: intstr.FromString("p")},
{Protocol: "UDP", Port: 8675, TargetPort: intstr.FromInt(309)},
},
}}
out := roundTrip(t, runtime.Object(in)).(*versioned.Service)
if out.Spec.Ports[0].Protocol != versioned.ProtocolUDP {
t.Errorf("Expected protocol %s, got %s", versioned.ProtocolUDP, out.Spec.Ports[0].Protocol)
out := roundTrip(t, runtime.Object(in)).(*metav1.Service)
if out.Spec.Ports[0].Protocol != metav1.ProtocolUDP {
t.Errorf("Expected protocol %s, got %s", metav1.ProtocolUDP, out.Spec.Ports[0].Protocol)
}
if out.Spec.Ports[0].TargetPort != intstr.FromString("p") {
t.Errorf("Expected port %v, got %v", in.Spec.Ports[0].Port, out.Spec.Ports[0].TargetPort)
}
if out.Spec.Ports[1].Protocol != versioned.ProtocolUDP {
t.Errorf("Expected protocol %s, got %s", versioned.ProtocolUDP, out.Spec.Ports[1].Protocol)
if out.Spec.Ports[1].Protocol != metav1.ProtocolUDP {
t.Errorf("Expected protocol %s, got %s", metav1.ProtocolUDP, out.Spec.Ports[1].Protocol)
}
if out.Spec.Ports[1].TargetPort != intstr.FromInt(309) {
t.Errorf("Expected port %v, got %v", in.Spec.Ports[1].Port, out.Spec.Ports[1].TargetPort)
}
// Defaulted.
in = &versioned.Service{Spec: versioned.ServiceSpec{
Ports: []versioned.ServicePort{
in = &metav1.Service{Spec: metav1.ServiceSpec{
Ports: []metav1.ServicePort{
{Protocol: "", Port: 9376, TargetPort: intstr.FromString("")},
{Protocol: "", Port: 8675, TargetPort: intstr.FromInt(0)},
},
}}
out = roundTrip(t, runtime.Object(in)).(*versioned.Service)
if out.Spec.Ports[0].Protocol != versioned.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Spec.Ports[0].Protocol)
out = roundTrip(t, runtime.Object(in)).(*metav1.Service)
if out.Spec.Ports[0].Protocol != metav1.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", metav1.ProtocolTCP, out.Spec.Ports[0].Protocol)
}
if out.Spec.Ports[0].TargetPort != intstr.FromInt(int(in.Spec.Ports[0].Port)) {
t.Errorf("Expected port %v, got %v", in.Spec.Ports[0].Port, out.Spec.Ports[0].TargetPort)
}
if out.Spec.Ports[1].Protocol != versioned.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Spec.Ports[1].Protocol)
if out.Spec.Ports[1].Protocol != metav1.ProtocolTCP {
t.Errorf("Expected protocol %s, got %s", metav1.ProtocolTCP, out.Spec.Ports[1].Protocol)
}
if out.Spec.Ports[1].TargetPort != intstr.FromInt(int(in.Spec.Ports[1].Port)) {
t.Errorf("Expected port %v, got %v", in.Spec.Ports[1].Port, out.Spec.Ports[1].TargetPort)
@@ -491,33 +491,33 @@ func TestSetDefaultServicePort(t *testing.T) {
}
func TestSetDefaultNamespace(t *testing.T) {
s := &versioned.Namespace{}
s := &metav1.Namespace{}
obj2 := roundTrip(t, runtime.Object(s))
s2 := obj2.(*versioned.Namespace)
s2 := obj2.(*metav1.Namespace)
if s2.Status.Phase != versioned.NamespaceActive {
t.Errorf("Expected phase %v, got %v", versioned.NamespaceActive, s2.Status.Phase)
if s2.Status.Phase != metav1.NamespaceActive {
t.Errorf("Expected phase %v, got %v", metav1.NamespaceActive, s2.Status.Phase)
}
}
func TestSetDefaultPodSpecHostNetwork(t *testing.T) {
portNum := int32(8080)
s := versioned.PodSpec{}
s := metav1.PodSpec{}
s.HostNetwork = true
s.Containers = []versioned.Container{
s.Containers = []metav1.Container{
{
Ports: []versioned.ContainerPort{
Ports: []metav1.ContainerPort{
{
ContainerPort: portNum,
},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
obj2 := roundTrip(t, runtime.Object(pod))
pod2 := obj2.(*versioned.Pod)
pod2 := obj2.(*metav1.Pod)
s2 := pod2.Spec
hostPortNum := s2.Containers[0].Ports[0].HostPort
@@ -528,10 +528,10 @@ func TestSetDefaultPodSpecHostNetwork(t *testing.T) {
func TestSetDefaultNodeExternalID(t *testing.T) {
name := "node0"
n := &versioned.Node{}
n := &metav1.Node{}
n.Name = name
obj2 := roundTrip(t, runtime.Object(n))
n2 := obj2.(*versioned.Node)
n2 := obj2.(*metav1.Node)
if n2.Spec.ExternalID != name {
t.Errorf("Expected default External ID: %s, got: %s", name, n2.Spec.ExternalID)
}
@@ -541,18 +541,18 @@ func TestSetDefaultNodeExternalID(t *testing.T) {
}
func TestSetDefaultNodeStatusAllocatable(t *testing.T) {
capacity := versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("1000m"),
versioned.ResourceMemory: resource.MustParse("10G"),
capacity := metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("1000m"),
metav1.ResourceMemory: resource.MustParse("10G"),
}
allocatable := versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("500m"),
versioned.ResourceMemory: resource.MustParse("5G"),
allocatable := metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("500m"),
metav1.ResourceMemory: resource.MustParse("5G"),
}
tests := []struct {
capacity versioned.ResourceList
allocatable versioned.ResourceList
expectedAllocatable versioned.ResourceList
capacity metav1.ResourceList
allocatable metav1.ResourceList
expectedAllocatable metav1.ResourceList
}{{ // Everything set, no defaulting.
capacity: capacity,
allocatable: allocatable,
@@ -571,18 +571,18 @@ func TestSetDefaultNodeStatusAllocatable(t *testing.T) {
expectedAllocatable: nil,
}}
copyResourceList := func(rl versioned.ResourceList) versioned.ResourceList {
copyResourceList := func(rl metav1.ResourceList) metav1.ResourceList {
if rl == nil {
return nil
}
copy := make(versioned.ResourceList, len(rl))
copy := make(metav1.ResourceList, len(rl))
for k, v := range rl {
copy[k] = *v.Copy()
}
return copy
}
resourceListsEqual := func(a versioned.ResourceList, b versioned.ResourceList) bool {
resourceListsEqual := func(a metav1.ResourceList, b metav1.ResourceList) bool {
if len(a) != len(b) {
return false
}
@@ -599,13 +599,13 @@ func TestSetDefaultNodeStatusAllocatable(t *testing.T) {
}
for i, testcase := range tests {
node := versioned.Node{
Status: versioned.NodeStatus{
node := metav1.Node{
Status: metav1.NodeStatus{
Capacity: copyResourceList(testcase.capacity),
Allocatable: copyResourceList(testcase.allocatable),
},
}
node2 := roundTrip(t, runtime.Object(&node)).(*versioned.Node)
node2 := roundTrip(t, runtime.Object(&node)).(*metav1.Node)
actual := node2.Status.Allocatable
expected := testcase.expectedAllocatable
if !resourceListsEqual(expected, actual) {
@@ -615,24 +615,24 @@ func TestSetDefaultNodeStatusAllocatable(t *testing.T) {
}
func TestSetDefaultObjectFieldSelectorAPIVersion(t *testing.T) {
s := versioned.PodSpec{
Containers: []versioned.Container{
s := metav1.PodSpec{
Containers: []metav1.Container{
{
Env: []versioned.EnvVar{
Env: []metav1.EnvVar{
{
ValueFrom: &versioned.EnvVarSource{
FieldRef: &versioned.ObjectFieldSelector{},
ValueFrom: &metav1.EnvVarSource{
FieldRef: &metav1.ObjectFieldSelector{},
},
},
},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
obj2 := roundTrip(t, runtime.Object(pod))
pod2 := obj2.(*versioned.Pod)
pod2 := obj2.(*metav1.Pod)
s2 := pod2.Spec
apiVersion := s2.Containers[0].Env[0].ValueFrom.FieldRef.APIVersion
@@ -643,88 +643,88 @@ func TestSetDefaultObjectFieldSelectorAPIVersion(t *testing.T) {
func TestSetMinimumScalePod(t *testing.T) {
// verify we default if limits are specified (and that request=0 is preserved)
s := versioned.PodSpec{}
s.Containers = []versioned.Container{
s := metav1.PodSpec{}
s.Containers = []metav1.Container{
{
Resources: versioned.ResourceRequirements{
Requests: versioned.ResourceList{
versioned.ResourceMemory: resource.MustParse("1n"),
Resources: metav1.ResourceRequirements{
Requests: metav1.ResourceList{
metav1.ResourceMemory: resource.MustParse("1n"),
},
Limits: versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("2n"),
Limits: metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("2n"),
},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
versioned.SetObjectDefaults_Pod(pod)
metav1.SetObjectDefaults_Pod(pod)
if expect := resource.MustParse("1m"); expect.Cmp(pod.Spec.Containers[0].Resources.Requests[versioned.ResourceMemory]) != 0 {
if expect := resource.MustParse("1m"); expect.Cmp(pod.Spec.Containers[0].Resources.Requests[metav1.ResourceMemory]) != 0 {
t.Errorf("did not round resources: %#v", pod.Spec.Containers[0].Resources)
}
}
func TestSetDefaultRequestsPod(t *testing.T) {
// verify we default if limits are specified (and that request=0 is preserved)
s := versioned.PodSpec{}
s.Containers = []versioned.Container{
s := metav1.PodSpec{}
s.Containers = []metav1.Container{
{
Resources: versioned.ResourceRequirements{
Requests: versioned.ResourceList{
versioned.ResourceMemory: resource.MustParse("0"),
Resources: metav1.ResourceRequirements{
Requests: metav1.ResourceList{
metav1.ResourceMemory: resource.MustParse("0"),
},
Limits: versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("100m"),
versioned.ResourceMemory: resource.MustParse("1Gi"),
Limits: metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("100m"),
metav1.ResourceMemory: resource.MustParse("1Gi"),
},
},
},
}
pod := &versioned.Pod{
pod := &metav1.Pod{
Spec: s,
}
output := roundTrip(t, runtime.Object(pod))
pod2 := output.(*versioned.Pod)
pod2 := output.(*metav1.Pod)
defaultRequest := pod2.Spec.Containers[0].Resources.Requests
if requestValue := defaultRequest[versioned.ResourceCPU]; requestValue.String() != "100m" {
if requestValue := defaultRequest[metav1.ResourceCPU]; requestValue.String() != "100m" {
t.Errorf("Expected request cpu: %s, got: %s", "100m", requestValue.String())
}
if requestValue := defaultRequest[versioned.ResourceMemory]; requestValue.String() != "0" {
if requestValue := defaultRequest[metav1.ResourceMemory]; requestValue.String() != "0" {
t.Errorf("Expected request memory: %s, got: %s", "0", requestValue.String())
}
// verify we do nothing if no limits are specified
s = versioned.PodSpec{}
s.Containers = []versioned.Container{{}}
pod = &versioned.Pod{
s = metav1.PodSpec{}
s.Containers = []metav1.Container{{}}
pod = &metav1.Pod{
Spec: s,
}
output = roundTrip(t, runtime.Object(pod))
pod2 = output.(*versioned.Pod)
pod2 = output.(*metav1.Pod)
defaultRequest = pod2.Spec.Containers[0].Resources.Requests
if requestValue := defaultRequest[versioned.ResourceCPU]; requestValue.String() != "0" {
if requestValue := defaultRequest[metav1.ResourceCPU]; requestValue.String() != "0" {
t.Errorf("Expected 0 request value, got: %s", requestValue.String())
}
}
func TestDefaultRequestIsNotSetForReplicationController(t *testing.T) {
s := versioned.PodSpec{}
s.Containers = []versioned.Container{
s := metav1.PodSpec{}
s.Containers = []metav1.Container{
{
Resources: versioned.ResourceRequirements{
Limits: versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("100m"),
Resources: metav1.ResourceRequirements{
Limits: metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("100m"),
},
},
},
}
rc := &versioned.ReplicationController{
Spec: versioned.ReplicationControllerSpec{
rc := &metav1.ReplicationController{
Spec: metav1.ReplicationControllerSpec{
Replicas: newInt(3),
Template: &versioned.PodTemplateSpec{
ObjectMeta: versioned.ObjectMeta{
Template: &metav1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
@@ -734,59 +734,59 @@ func TestDefaultRequestIsNotSetForReplicationController(t *testing.T) {
},
}
output := roundTrip(t, runtime.Object(rc))
rc2 := output.(*versioned.ReplicationController)
rc2 := output.(*metav1.ReplicationController)
defaultRequest := rc2.Spec.Template.Spec.Containers[0].Resources.Requests
requestValue := defaultRequest[versioned.ResourceCPU]
requestValue := defaultRequest[metav1.ResourceCPU]
if requestValue.String() != "0" {
t.Errorf("Expected 0 request value, got: %s", requestValue.String())
}
}
func TestSetDefaultLimitRangeItem(t *testing.T) {
limitRange := &versioned.LimitRange{
ObjectMeta: versioned.ObjectMeta{
limitRange := &metav1.LimitRange{
ObjectMeta: metav1.ObjectMeta{
Name: "test-defaults",
},
Spec: versioned.LimitRangeSpec{
Limits: []versioned.LimitRangeItem{{
Type: versioned.LimitTypeContainer,
Max: versioned.ResourceList{
versioned.ResourceCPU: resource.MustParse("100m"),
Spec: metav1.LimitRangeSpec{
Limits: []metav1.LimitRangeItem{{
Type: metav1.LimitTypeContainer,
Max: metav1.ResourceList{
metav1.ResourceCPU: resource.MustParse("100m"),
},
Min: versioned.ResourceList{
versioned.ResourceMemory: resource.MustParse("100Mi"),
Min: metav1.ResourceList{
metav1.ResourceMemory: resource.MustParse("100Mi"),
},
Default: versioned.ResourceList{},
DefaultRequest: versioned.ResourceList{},
Default: metav1.ResourceList{},
DefaultRequest: metav1.ResourceList{},
}},
},
}
output := roundTrip(t, runtime.Object(limitRange))
limitRange2 := output.(*versioned.LimitRange)
limitRange2 := output.(*metav1.LimitRange)
defaultLimit := limitRange2.Spec.Limits[0].Default
defaultRequest := limitRange2.Spec.Limits[0].DefaultRequest
// verify that default cpu was set to the max
defaultValue := defaultLimit[versioned.ResourceCPU]
defaultValue := defaultLimit[metav1.ResourceCPU]
if defaultValue.String() != "100m" {
t.Errorf("Expected default cpu: %s, got: %s", "100m", defaultValue.String())
}
// verify that default request was set to the limit
requestValue := defaultRequest[versioned.ResourceCPU]
requestValue := defaultRequest[metav1.ResourceCPU]
if requestValue.String() != "100m" {
t.Errorf("Expected request cpu: %s, got: %s", "100m", requestValue.String())
}
// verify that if a min is provided, it will be the default if no limit is specified
requestMinValue := defaultRequest[versioned.ResourceMemory]
requestMinValue := defaultRequest[metav1.ResourceMemory]
if requestMinValue.String() != "100Mi" {
t.Errorf("Expected request memory: %s, got: %s", "100Mi", requestMinValue.String())
}
}
func TestSetDefaultProbe(t *testing.T) {
originalProbe := versioned.Probe{}
expectedProbe := versioned.Probe{
originalProbe := metav1.Probe{}
expectedProbe := metav1.Probe{
InitialDelaySeconds: 0,
TimeoutSeconds: 1,
PeriodSeconds: 10,
@@ -794,13 +794,13 @@ func TestSetDefaultProbe(t *testing.T) {
FailureThreshold: 3,
}
pod := &versioned.Pod{
Spec: versioned.PodSpec{
Containers: []versioned.Container{{LivenessProbe: &originalProbe}},
pod := &metav1.Pod{
Spec: metav1.PodSpec{
Containers: []metav1.Container{{LivenessProbe: &originalProbe}},
},
}
output := roundTrip(t, runtime.Object(pod)).(*versioned.Pod)
output := roundTrip(t, runtime.Object(pod)).(*metav1.Pod)
actualProbe := *output.Spec.Containers[0].LivenessProbe
if actualProbe != expectedProbe {
t.Errorf("Expected probe: %+v\ngot: %+v\n", expectedProbe, actualProbe)