remove apps/v1beta2 defaulting codes for obj.Spec.Selector and obj.Labels

This commit is contained in:
crimsonfaith91 2017-08-07 14:20:48 -07:00 committed by Jun Xiang Tee
parent da549596c4
commit a5987fe72c
3 changed files with 3 additions and 180 deletions

View File

@ -18,7 +18,6 @@ package v1beta2
import (
appsv1beta2 "k8s.io/api/apps/v1beta2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
)
@ -28,19 +27,6 @@ func addDefaultingFuncs(scheme *runtime.Scheme) error {
}
func SetDefaults_DaemonSet(obj *appsv1beta2.DaemonSet) {
labels := obj.Spec.Template.Labels
// TODO: support templates defined elsewhere when we support them in the API
if labels != nil {
if obj.Spec.Selector == nil {
obj.Spec.Selector = &metav1.LabelSelector{
MatchLabels: labels,
}
}
if len(obj.Labels) == 0 {
obj.Labels = labels
}
}
updateStrategy := &obj.Spec.UpdateStrategy
if updateStrategy.Type == "" {
updateStrategy.Type = appsv1beta2.RollingUpdateDaemonSetStrategyType
@ -81,17 +67,6 @@ func SetDefaults_StatefulSet(obj *appsv1beta2.StatefulSet) {
*obj.Spec.UpdateStrategy.RollingUpdate.Partition = 0
}
labels := obj.Spec.Template.Labels
if labels != nil {
if obj.Spec.Selector == nil {
obj.Spec.Selector = &metav1.LabelSelector{
MatchLabels: labels,
}
}
if len(obj.Labels) == 0 {
obj.Labels = labels
}
}
if obj.Spec.Replicas == nil {
obj.Spec.Replicas = new(int32)
*obj.Spec.Replicas = 1
@ -109,17 +84,6 @@ func SetDefaults_StatefulSet(obj *appsv1beta2.StatefulSet) {
// - RevisionHistoryLimit set to 10 (not set in extensions)
// - ProgressDeadlineSeconds set to 600s (not set in extensions)
func SetDefaults_Deployment(obj *appsv1beta2.Deployment) {
// Default labels and selector to labels from pod template spec.
labels := obj.Spec.Template.Labels
if labels != nil {
if obj.Spec.Selector == nil {
obj.Spec.Selector = &metav1.LabelSelector{MatchLabels: labels}
}
if len(obj.Labels) == 0 {
obj.Labels = labels
}
}
// Set appsv1beta2.DeploymentSpec.Replicas to 1 if it is not set.
if obj.Spec.Replicas == nil {
obj.Spec.Replicas = new(int32)
@ -157,19 +121,6 @@ func SetDefaults_Deployment(obj *appsv1beta2.Deployment) {
}
func SetDefaults_ReplicaSet(obj *appsv1beta2.ReplicaSet) {
labels := obj.Spec.Template.Labels
// TODO: support templates defined elsewhere when we support them in the API
if labels != nil {
if obj.Spec.Selector == nil {
obj.Spec.Selector = &metav1.LabelSelector{
MatchLabels: labels,
}
}
if len(obj.Labels) == 0 {
obj.Labels = labels
}
}
if obj.Spec.Replicas == nil {
obj.Spec.Replicas = new(int32)
*obj.Spec.Replicas = 1

View File

@ -73,9 +73,6 @@ func TestSetDefaultDaemonSetSpec(t *testing.T) {
Labels: defaultLabels,
},
Spec: appsv1beta2.DaemonSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: defaultLabels,
},
Template: defaultTemplate,
UpdateStrategy: appsv1beta2.DaemonSetUpdateStrategy{
Type: appsv1beta2.RollingUpdateStatefulSetStrategyType,
@ -106,9 +103,6 @@ func TestSetDefaultDaemonSetSpec(t *testing.T) {
},
},
Spec: appsv1beta2.DaemonSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: defaultLabels,
},
Template: defaultTemplate,
UpdateStrategy: appsv1beta2.DaemonSetUpdateStrategy{
Type: appsv1beta2.RollingUpdateStatefulSetStrategyType,
@ -196,7 +190,7 @@ func TestSetDefaultStatefulSet(t *testing.T) {
original *appsv1beta2.StatefulSet
expected *appsv1beta2.StatefulSet
}{
{ // Selector, labels and default update strategy
{ // labels and default update strategy
original: &appsv1beta2.StatefulSet{
Spec: appsv1beta2.StatefulSetSpec{
Template: defaultTemplate,
@ -207,9 +201,6 @@ func TestSetDefaultStatefulSet(t *testing.T) {
Labels: defaultLabels,
},
Spec: appsv1beta2.StatefulSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: defaultLabels,
},
Replicas: &defaultReplicas,
Template: defaultTemplate,
PodManagementPolicy: appsv1beta2.OrderedReadyPodManagement,
@ -237,9 +228,6 @@ func TestSetDefaultStatefulSet(t *testing.T) {
Labels: defaultLabels,
},
Spec: appsv1beta2.StatefulSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: defaultLabels,
},
Replicas: &defaultReplicas,
Template: defaultTemplate,
PodManagementPolicy: appsv1beta2.OrderedReadyPodManagement,
@ -262,9 +250,6 @@ func TestSetDefaultStatefulSet(t *testing.T) {
Labels: defaultLabels,
},
Spec: appsv1beta2.StatefulSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: defaultLabels,
},
Replicas: &defaultReplicas,
Template: defaultTemplate,
PodManagementPolicy: appsv1beta2.ParallelPodManagement,
@ -458,119 +443,6 @@ func TestDefaultDeploymentAvailability(t *testing.T) {
}
}
func TestSetDefaultReplicaSet(t *testing.T) {
tests := []struct {
rs *appsv1beta2.ReplicaSet
expectLabels bool
expectSelector bool
}{
{
rs: &appsv1beta2.ReplicaSet{
Spec: appsv1beta2.ReplicaSetSpec{
Template: v1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
},
},
},
},
expectLabels: true,
expectSelector: true,
},
{
rs: &appsv1beta2.ReplicaSet{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"bar": "foo",
},
},
Spec: appsv1beta2.ReplicaSetSpec{
Template: v1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
},
},
},
},
expectLabels: false,
expectSelector: true,
},
{
rs: &appsv1beta2.ReplicaSet{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"bar": "foo",
},
},
Spec: appsv1beta2.ReplicaSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: map[string]string{
"some": "other",
},
},
Template: v1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
},
},
},
},
expectLabels: false,
expectSelector: false,
},
{
rs: &appsv1beta2.ReplicaSet{
Spec: appsv1beta2.ReplicaSetSpec{
Selector: &metav1.LabelSelector{
MatchLabels: map[string]string{
"some": "other",
},
},
Template: v1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
},
},
},
},
},
expectLabels: true,
expectSelector: false,
},
}
for _, test := range tests {
rs := test.rs
obj2 := roundTrip(t, runtime.Object(rs))
rs2, ok := obj2.(*appsv1beta2.ReplicaSet)
if !ok {
t.Errorf("unexpected object: %v", rs2)
t.FailNow()
}
if test.expectSelector != reflect.DeepEqual(rs2.Spec.Selector.MatchLabels, rs2.Spec.Template.Labels) {
if test.expectSelector {
t.Errorf("expected: %v, got: %v", rs2.Spec.Template.Labels, rs2.Spec.Selector)
} else {
t.Errorf("unexpected equality: %v", rs.Spec.Selector)
}
}
if test.expectLabels != reflect.DeepEqual(rs2.Labels, rs2.Spec.Template.Labels) {
if test.expectLabels {
t.Errorf("expected: %v, got: %v", rs2.Spec.Template.Labels, rs2.Labels)
} else {
t.Errorf("unexpected equality: %v", rs.Labels)
}
}
}
}
func TestSetDefaultReplicaSetReplicas(t *testing.T) {
tests := []struct {
rs appsv1beta2.ReplicaSet

View File

@ -133,7 +133,7 @@ var etcdStorageData = map[schema.GroupVersionResource]struct {
// k8s.io/kubernetes/pkg/apis/apps/v1beta1
gvr("apps", "v1beta1", "statefulsets"): {
stub: `{"metadata": {"name": "ss1"}, "spec": {"template": {"metadata": {"labels": {"a": "b"}}}}}`,
stub: `{"metadata": {"name": "ss1"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}}}}`,
expectedEtcdPath: "/registry/statefulsets/etcdstoragepathtestnamespace/ss1",
},
gvr("apps", "v1beta1", "deployments"): {
@ -149,7 +149,7 @@ var etcdStorageData = map[schema.GroupVersionResource]struct {
// k8s.io/kubernetes/pkg/apis/apps/v1beta2
gvr("apps", "v1beta2", "statefulsets"): {
stub: `{"metadata": {"name": "ss2"}, "spec": {"template": {"metadata": {"labels": {"a": "b"}}}}}`,
stub: `{"metadata": {"name": "ss2"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}}}}`,
expectedEtcdPath: "/registry/statefulsets/etcdstoragepathtestnamespace/ss2",
expectedGVK: gvkP("apps", "v1beta1", "StatefulSet"),
},