diff --git a/cmd/integration/integration.go b/cmd/integration/integration.go index 8bc7057e4a8..8af00379004 100644 --- a/cmd/integration/integration.go +++ b/cmd/integration/integration.go @@ -627,7 +627,7 @@ func runServiceTest(client *client.Client) { ImagePullPolicy: "PullIfNotPresent", }, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, Status: api.PodStatus{ diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index f59f8fbb66e..af7f5d30ff1 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -162,7 +162,7 @@ func TestEncode_Ptr(t *testing.T) { Labels: map[string]string{"name": "foo"}, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, } diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 94a54192031..7dd393b9a40 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -161,8 +161,8 @@ func FuzzerFor(t *testing.T, version string, src rand.Source) *fuzz.Fuzzer { *p = policies[c.Rand.Intn(len(policies))] }, func(rp *api.RestartPolicy, c fuzz.Continue) { - // Exactly one of the fields should be set. - fuzzOneOf(c, &rp.Always, &rp.OnFailure, &rp.Never) + policies := []api.RestartPolicy{api.RestartPolicyAlways, api.RestartPolicyNever, api.RestartPolicyOnFailure} + *rp = policies[c.Rand.Intn(len(policies))] }, func(vs *api.VolumeSource, c fuzz.Continue) { // Exactly one of the fields should be set. diff --git a/pkg/api/types.go b/pkg/api/types.go index bfb97303cff..fe52c2f95c4 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -515,23 +515,17 @@ type PodContainerInfo struct { ContainerInfo PodInfo `json:"containerInfo"` } -type RestartPolicyAlways struct{} - -// TODO(dchen1107): Define what kinds of failures should restart. -// TODO(dchen1107): Decide whether to support policy knobs, and, if so, which ones. -type RestartPolicyOnFailure struct{} - -type RestartPolicyNever struct{} - // RestartPolicy describes how the container should be restarted. // Only one of the following restart policies may be specified. // If none of the following policies is specified, the default one // is RestartPolicyAlways. -type RestartPolicy struct { - Always *RestartPolicyAlways `json:"always,omitempty"` - OnFailure *RestartPolicyOnFailure `json:"onFailure,omitempty"` - Never *RestartPolicyNever `json:"never,omitempty"` -} +type RestartPolicy string + +const ( + RestartPolicyAlways RestartPolicy = "Always" + RestartPolicyOnFailure RestartPolicy = "OnFailure" + RestartPolicyNever RestartPolicy = "Never" +) // PodList is a list of Pods. type PodList struct { diff --git a/pkg/api/v1beta1/conversion.go b/pkg/api/v1beta1/conversion.go index 2a79913a64b..431993cf3b2 100644 --- a/pkg/api/v1beta1/conversion.go +++ b/pkg/api/v1beta1/conversion.go @@ -1120,6 +1120,33 @@ func init() { return nil }, + func(in *newer.RestartPolicy, out *RestartPolicy, s conversion.Scope) error { + switch *in { + case newer.RestartPolicyAlways: + *out = RestartPolicy{Always: &RestartPolicyAlways{}} + case newer.RestartPolicyNever: + *out = RestartPolicy{Never: &RestartPolicyNever{}} + case newer.RestartPolicyOnFailure: + *out = RestartPolicy{OnFailure: &RestartPolicyOnFailure{}} + default: + *out = RestartPolicy{} + } + return nil + }, + func(in *RestartPolicy, out *newer.RestartPolicy, s conversion.Scope) error { + switch { + case in.Always != nil: + *out = newer.RestartPolicyAlways + case in.Never != nil: + *out = newer.RestartPolicyNever + case in.OnFailure != nil: + *out = newer.RestartPolicyOnFailure + default: + *out = "" + } + return nil + }, + func(in *newer.Probe, out *LivenessProbe, s conversion.Scope) error { if err := s.Convert(&in.Exec, &out.Exec, 0); err != nil { return err diff --git a/pkg/api/v1beta2/conversion.go b/pkg/api/v1beta2/conversion.go index 6969aa88e51..a262c166a4f 100644 --- a/pkg/api/v1beta2/conversion.go +++ b/pkg/api/v1beta2/conversion.go @@ -1036,6 +1036,33 @@ func init() { return nil }, + func(in *newer.RestartPolicy, out *RestartPolicy, s conversion.Scope) error { + switch *in { + case newer.RestartPolicyAlways: + *out = RestartPolicy{Always: &RestartPolicyAlways{}} + case newer.RestartPolicyNever: + *out = RestartPolicy{Never: &RestartPolicyNever{}} + case newer.RestartPolicyOnFailure: + *out = RestartPolicy{OnFailure: &RestartPolicyOnFailure{}} + default: + *out = RestartPolicy{} + } + return nil + }, + func(in *RestartPolicy, out *newer.RestartPolicy, s conversion.Scope) error { + switch { + case in.Always != nil: + *out = newer.RestartPolicyAlways + case in.Never != nil: + *out = newer.RestartPolicyNever + case in.OnFailure != nil: + *out = newer.RestartPolicyOnFailure + default: + *out = "" + } + return nil + }, + func(in *newer.Probe, out *LivenessProbe, s conversion.Scope) error { if err := s.Convert(&in.Exec, &out.Exec, 0); err != nil { return err diff --git a/pkg/api/v1beta3/defaults.go b/pkg/api/v1beta3/defaults.go index c8732185bde..d9d74d78b20 100644 --- a/pkg/api/v1beta3/defaults.go +++ b/pkg/api/v1beta3/defaults.go @@ -52,11 +52,6 @@ func init() { obj.TerminationMessagePath = TerminationMessagePathDefault } }, - func(obj *RestartPolicy) { - if util.AllPtrFieldsNil(obj) { - obj.Always = &RestartPolicyAlways{} - } - }, func(obj *Service) { if obj.Spec.Protocol == "" { obj.Spec.Protocol = ProtocolTCP @@ -69,6 +64,9 @@ func init() { if obj.DNSPolicy == "" { obj.DNSPolicy = DNSClusterFirst } + if obj.RestartPolicy == "" { + obj.RestartPolicy = RestartPolicyAlways + } }, func(obj *Probe) { if obj.TimeoutSeconds == 0 { diff --git a/pkg/api/v1beta3/defaults_test.go b/pkg/api/v1beta3/defaults_test.go index 16658f48dbe..028639bd8db 100644 --- a/pkg/api/v1beta3/defaults_test.go +++ b/pkg/api/v1beta3/defaults_test.go @@ -62,7 +62,7 @@ func TestSetDefaulPodSpec(t *testing.T) { t.Errorf("Expected default dns policy :%s, got: %s", current.DNSClusterFirst, bp2.Spec.DNSPolicy) } policy := bp2.Spec.RestartPolicy - if policy.Never != nil || policy.OnFailure != nil || policy.Always == nil { + if policy != current.RestartPolicyAlways { t.Errorf("Expected only policy.Always is set, got: %s", policy) } vsource := bp2.Spec.Volumes[0].VolumeSource diff --git a/pkg/api/v1beta3/types.go b/pkg/api/v1beta3/types.go index f89b2c525fa..6efc1ebf6d0 100644 --- a/pkg/api/v1beta3/types.go +++ b/pkg/api/v1beta3/types.go @@ -522,22 +522,17 @@ type PodCondition struct { // PodInfo contains one entry for every container with available info. type PodInfo map[string]ContainerStatus -type RestartPolicyAlways struct{} +// RestartPolicy describes how the container should be restarted. +// Only one of the following restart policies may be specified. +// If none of the following policies is specified, the default one +// is RestartPolicyAlways. +type RestartPolicy string -// TODO(dchen1107): Define what kinds of failures should restart. -// TODO(dchen1107): Decide whether to support policy knobs, and, if so, which ones. -type RestartPolicyOnFailure struct{} - -type RestartPolicyNever struct{} - -type RestartPolicy struct { - // Only one of the following restart policies may be specified. - // If none of the following policies is specified, the default one - // is RestartPolicyAlways. - Always *RestartPolicyAlways `json:"always,omitempty" description:"always restart the container after termination"` - OnFailure *RestartPolicyOnFailure `json:"onFailure,omitempty" description:"restart the container if it fails for any reason, but not if it succeeds (exit 0)"` - Never *RestartPolicyNever `json:"never,omitempty" description:"never restart the container"` -} +const ( + RestartPolicyAlways RestartPolicy = "Always" + RestartPolicyOnFailure RestartPolicy = "OnFailure" + RestartPolicyNever RestartPolicy = "Never" +) // DNSPolicy defines how a pod's DNS will be configured. type DNSPolicy string diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index 4d69a18e109..9bbbf9ba488 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -600,20 +600,16 @@ func ValidateManifest(manifest *api.ContainerManifest) errs.ValidationErrorList } func validateRestartPolicy(restartPolicy *api.RestartPolicy) errs.ValidationErrorList { - numPolicies := 0 allErrors := errs.ValidationErrorList{} - if restartPolicy.Always != nil { - numPolicies++ - } - if restartPolicy.OnFailure != nil { - numPolicies++ - } - if restartPolicy.Never != nil { - numPolicies++ - } - if numPolicies != 1 { - allErrors = append(allErrors, errs.NewFieldInvalid("", restartPolicy, "only 1 policy is allowed")) + switch *restartPolicy { + case api.RestartPolicyAlways, api.RestartPolicyOnFailure, api.RestartPolicyNever: + break + case "": + allErrors = append(allErrors, errs.NewFieldRequired("", *restartPolicy)) + default: + allErrors = append(allErrors, errs.NewFieldNotSupported("", restartPolicy)) } + return allErrors } @@ -786,10 +782,8 @@ func ValidateReplicationControllerSpec(spec *api.ReplicationControllerSpec) errs } allErrs = append(allErrs, ValidatePodTemplateSpec(spec.Template, spec.Replicas).Prefix("template")...) // RestartPolicy has already been first-order validated as per ValidatePodTemplateSpec(). - if spec.Template.Spec.RestartPolicy.Always == nil { - // TODO: should probably be Unsupported - // TODO: api.RestartPolicy should have a String() method for nicer printing - allErrs = append(allErrs, errs.NewFieldInvalid("template.restartPolicy", spec.Template.Spec.RestartPolicy, "must be Always")) + if spec.Template.Spec.RestartPolicy != api.RestartPolicyAlways { + allErrs = append(allErrs, errs.NewFieldNotSupported("template.restartPolicy", spec.Template.Spec.RestartPolicy)) } } return allErrs diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 4ca1e00dca9..00a5ac0f832 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -656,9 +656,9 @@ func TestValidateContainers(t *testing.T) { func TestValidateRestartPolicy(t *testing.T) { successCases := []api.RestartPolicy{ - {Always: &api.RestartPolicyAlways{}}, - {OnFailure: &api.RestartPolicyOnFailure{}}, - {Never: &api.RestartPolicyNever{}}, + api.RestartPolicyAlways, + api.RestartPolicyOnFailure, + api.RestartPolicyNever, } for _, policy := range successCases { if errs := validateRestartPolicy(&policy); len(errs) != 0 { @@ -666,11 +666,8 @@ func TestValidateRestartPolicy(t *testing.T) { } } - errorCases := []api.RestartPolicy{ - {}, - {Always: &api.RestartPolicyAlways{}, Never: &api.RestartPolicyNever{}}, - {Never: &api.RestartPolicyNever{}, OnFailure: &api.RestartPolicyOnFailure{}}, - } + errorCases := []api.RestartPolicy{"", "newpolicy"} + for k, policy := range errorCases { if errs := validateRestartPolicy(&policy); len(errs) == 0 { t.Errorf("expected failure for %d", k) @@ -694,94 +691,12 @@ func TestValidateDNSPolicy(t *testing.T) { } } -func TestValidateManifest(t *testing.T) { - successCases := []api.ContainerManifest{ - {Version: "v1beta1", ID: "abc", RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst}, - {Version: "v1beta2", ID: "123", RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst}, - {Version: "V1BETA1", ID: "abc.123.do-re-mi", - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, DNSPolicy: api.DNSClusterFirst}, - { - Version: "v1beta1", - ID: "abc", - Volumes: []api.Volume{{Name: "vol1", VolumeSource: api.VolumeSource{HostPath: &api.HostPathVolumeSource{"/mnt/vol1"}}}, - {Name: "vol2", VolumeSource: api.VolumeSource{HostPath: &api.HostPathVolumeSource{"/mnt/vol2"}}}}, - Containers: []api.Container{ - { - Name: "abc", - Image: "image", - Command: []string{"foo", "bar"}, - WorkingDir: "/tmp", - Resources: api.ResourceRequirements{ - Limits: api.ResourceList{ - "cpu": resource.MustParse("1"), - "memory": resource.MustParse("1"), - }, - }, - Ports: []api.ContainerPort{ - {Name: "p1", ContainerPort: 80, HostPort: 8080, Protocol: "TCP"}, - {Name: "p2", ContainerPort: 81, Protocol: "TCP"}, - {ContainerPort: 82, Protocol: "TCP"}, - }, - Env: []api.EnvVar{ - {Name: "ev1", Value: "val1"}, - {Name: "ev2", Value: "val2"}, - {Name: "EV3", Value: "val3"}, - }, - VolumeMounts: []api.VolumeMount{ - {Name: "vol1", MountPath: "/foo"}, - {Name: "vol1", MountPath: "/bar"}, - }, - ImagePullPolicy: "IfNotPresent", - }, - }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst, - }, - } - for _, manifest := range successCases { - if errs := ValidateManifest(&manifest); len(errs) != 0 { - t.Errorf("expected success: %v", errs) - } - } - - errorCases := map[string]api.ContainerManifest{ - "empty version": {Version: "", ID: "abc", - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst}, - "invalid version": {Version: "bogus", ID: "abc", - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst}, - "invalid volume name": { - Version: "v1beta1", - ID: "abc", - Volumes: []api.Volume{{Name: "vol.1", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst, - }, - "invalid container name": { - Version: "v1beta1", - ID: "abc", - Containers: []api.Container{{Name: "ctr.1", Image: "image", ImagePullPolicy: "IfNotPresent", - TerminationMessagePath: "/foo/bar"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, - DNSPolicy: api.DNSClusterFirst, - }, - } - for k, v := range errorCases { - if errs := ValidateManifest(&v); len(errs) == 0 { - t.Errorf("expected failure for %s", k) - } - } -} - func TestValidatePodSpec(t *testing.T) { successCases := []api.PodSpec{ { // Populate basic fields, leave defaults for most. Volumes: []api.Volume{{Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}}, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, { // Populate all fields. @@ -789,7 +704,7 @@ func TestValidatePodSpec(t *testing.T) { {Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}, }, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, NodeSelector: map[string]string{ "key": "value", }, @@ -806,20 +721,20 @@ func TestValidatePodSpec(t *testing.T) { failureCases := map[string]api.PodSpec{ "bad volume": { Volumes: []api.Volume{{}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, "bad container": { Containers: []api.Container{{}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, "bad DNS policy": { DNSPolicy: api.DNSPolicy("invalid"), - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, }, "bad restart policy": { - RestartPolicy: api.RestartPolicy{}, + RestartPolicy: "UnknowPolicy", DNSPolicy: api.DNSClusterFirst, }, } @@ -837,7 +752,7 @@ func TestValidatePod(t *testing.T) { Spec: api.PodSpec{ Volumes: []api.Volume{{Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}}, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -848,7 +763,7 @@ func TestValidatePod(t *testing.T) { {Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}, }, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, NodeSelector: map[string]string{ "key": "value", @@ -867,14 +782,14 @@ func TestValidatePod(t *testing.T) { "bad name": { ObjectMeta: api.ObjectMeta{Name: "", Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, "bad namespace": { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: ""}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -893,7 +808,7 @@ func TestValidatePod(t *testing.T) { }, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1117,7 +1032,7 @@ func TestValidateBoundPods(t *testing.T) { { // Mostly empty. ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1126,7 +1041,7 @@ func TestValidateBoundPods(t *testing.T) { Spec: api.PodSpec{ Volumes: []api.Volume{{Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}}, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1137,7 +1052,7 @@ func TestValidateBoundPods(t *testing.T) { {Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}, }, Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, NodeSelector: map[string]string{ "key": "value", @@ -1156,14 +1071,14 @@ func TestValidateBoundPods(t *testing.T) { "zero-length name": { ObjectMeta: api.ObjectMeta{Name: "", Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, "bad namespace": { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: ""}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1171,28 +1086,28 @@ func TestValidateBoundPods(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: "ns"}, Spec: api.PodSpec{ Containers: []api.Container{{Name: "name", ImagePullPolicy: "IfNotPresent"}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, "name > 253 characters": { ObjectMeta: api.ObjectMeta{Name: strings.Repeat("a", 254), Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, "name not a DNS subdomain": { ObjectMeta: api.ObjectMeta{Name: "a..b.c", Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, "name with underscore": { ObjectMeta: api.ObjectMeta{Name: "a_b_c", Namespace: "ns"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1391,7 +1306,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) { Labels: validSelector, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1402,7 +1317,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) { Labels: validSelector, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Volumes: []api.Volume{{Name: "gcepd", VolumeSource: api.VolumeSource{GCEPersistentDisk: &api.GCEPersistentDiskVolumeSource{"my-PD", "ext4", 1, false}}}}, }, @@ -1412,7 +1327,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) { invalidPodTemplate := api.PodTemplate{ Spec: api.PodTemplateSpec{ Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, ObjectMeta: api.ObjectMeta{ @@ -1551,7 +1466,7 @@ func TestValidateReplicationController(t *testing.T) { Labels: validSelector, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1563,7 +1478,7 @@ func TestValidateReplicationController(t *testing.T) { }, Spec: api.PodSpec{ Volumes: []api.Volume{{Name: "gcepd", VolumeSource: api.VolumeSource{GCEPersistentDisk: &api.GCEPersistentDiskVolumeSource{"my-PD", "ext4", 1, false}}}}, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -1572,7 +1487,7 @@ func TestValidateReplicationController(t *testing.T) { invalidPodTemplate := api.PodTemplate{ Spec: api.PodTemplateSpec{ Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, ObjectMeta: api.ObjectMeta{ @@ -1693,10 +1608,8 @@ func TestValidateReplicationController(t *testing.T) { Selector: validSelector, Template: &api.PodTemplateSpec{ Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - OnFailure: &api.RestartPolicyOnFailure{}, - }, - DNSPolicy: api.DNSClusterFirst, + RestartPolicy: api.RestartPolicyOnFailure, + DNSPolicy: api.DNSClusterFirst, }, ObjectMeta: api.ObjectMeta{ Labels: validSelector, @@ -1713,10 +1626,8 @@ func TestValidateReplicationController(t *testing.T) { Selector: validSelector, Template: &api.PodTemplateSpec{ Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - Never: &api.RestartPolicyNever{}, - }, - DNSPolicy: api.DNSClusterFirst, + RestartPolicy: api.RestartPolicyNever, + DNSPolicy: api.DNSClusterFirst, }, ObjectMeta: api.ObjectMeta{ Labels: validSelector, diff --git a/pkg/controller/replication_controller_test.go b/pkg/controller/replication_controller_test.go index 519b9fe17a8..735ef1dc16d 100644 --- a/pkg/controller/replication_controller_test.go +++ b/pkg/controller/replication_controller_test.go @@ -85,10 +85,8 @@ func newReplicationController(replicas int) api.ReplicationController { ImagePullPolicy: api.PullIfNotPresent, }, }, - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, - DNSPolicy: api.DNSDefault, + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSDefault, NodeSelector: map[string]string{ "baz": "blah", }, diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index 9b71f9b97a5..d3bb8925930 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -43,14 +43,14 @@ func testData() (*api.PodList, *api.ServiceList, *api.ReplicationControllerList) { ObjectMeta: api.ObjectMeta{Name: "foo", Namespace: "test", ResourceVersion: "10"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "bar", Namespace: "test", ResourceVersion: "11"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -322,7 +322,7 @@ func watchTestData() ([]api.Pod, []watch.Event) { ResourceVersion: "10", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -337,7 +337,7 @@ func watchTestData() ([]api.Pod, []watch.Event) { ResourceVersion: "11", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -351,7 +351,7 @@ func watchTestData() ([]api.Pod, []watch.Event) { ResourceVersion: "12", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, diff --git a/pkg/kubectl/cmd/util/helpers_test.go b/pkg/kubectl/cmd/util/helpers_test.go index 71682faabc7..142ad04d950 100644 --- a/pkg/kubectl/cmd/util/helpers_test.go +++ b/pkg/kubectl/cmd/util/helpers_test.go @@ -49,10 +49,8 @@ func TestMerge(t *testing.T) { Name: "foo", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, - DNSPolicy: api.DNSClusterFirst, + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSClusterFirst, }, }, }, @@ -69,11 +67,9 @@ func TestMerge(t *testing.T) { Name: "baz", }, Spec: api.PodSpec{ - Host: "bar", - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, - DNSPolicy: api.DNSClusterFirst, + Host: "bar", + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSClusterFirst, }, }, }, @@ -100,10 +96,8 @@ func TestMerge(t *testing.T) { VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}, }, }, - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, - DNSPolicy: api.DNSClusterFirst, + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSClusterFirst, }, }, }, @@ -127,10 +121,8 @@ func TestMerge(t *testing.T) { Name: "", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, - DNSPolicy: api.DNSClusterFirst, + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSClusterFirst, }, }, }, diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index c9ded3ba8fd..4fb57d61b6b 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -89,14 +89,14 @@ func testData() (*api.PodList, *api.ServiceList) { { ObjectMeta: api.ObjectMeta{Name: "foo", Namespace: "test", ResourceVersion: "10"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "bar", Namespace: "test", ResourceVersion: "11"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, diff --git a/pkg/kubectl/resource/helper_test.go b/pkg/kubectl/resource/helper_test.go index b3891104af6..be64e613cdb 100644 --- a/pkg/kubectl/resource/helper_test.go +++ b/pkg/kubectl/resource/helper_test.go @@ -172,7 +172,7 @@ func TestHelperCreate(t *testing.T) { ExpectObject: &api.Pod{ ObjectMeta: api.ObjectMeta{Name: "foo"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -418,7 +418,7 @@ func TestHelperUpdate(t *testing.T) { ExpectObject: &api.Pod{ ObjectMeta: api.ObjectMeta{Name: "foo", ResourceVersion: "10"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, diff --git a/pkg/kubelet/config/config_test.go b/pkg/kubelet/config/config_test.go index 3a438c35da6..454fcb38283 100644 --- a/pkg/kubelet/config/config_test.go +++ b/pkg/kubelet/config/config_test.go @@ -60,7 +60,7 @@ func CreateValidPod(name, namespace, source string) api.BoundPod { Annotations: map[string]string{kubelet.ConfigSourceAnnotationKey: source}, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, } diff --git a/pkg/kubelet/config/http_test.go b/pkg/kubelet/config/http_test.go index f556774cc10..f08e6cae8c4 100644 --- a/pkg/kubelet/config/http_test.go +++ b/pkg/kubelet/config/http_test.go @@ -140,7 +140,7 @@ func TestExtractFromHTTP(t *testing.T) { SelfLink: "/api/v1beta1/boundPods/foo", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Containers: []api.Container{{ Name: "1", @@ -162,7 +162,7 @@ func TestExtractFromHTTP(t *testing.T) { Namespace: "foobar", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }), @@ -181,7 +181,7 @@ func TestExtractFromHTTP(t *testing.T) { SelfLink: "/api/v1beta1/boundPods/foo", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Containers: []api.Container{{ Name: "1", @@ -209,7 +209,7 @@ func TestExtractFromHTTP(t *testing.T) { SelfLink: "/api/v1beta1/boundPods/foo", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Containers: []api.Container{{ Name: "1", @@ -226,7 +226,7 @@ func TestExtractFromHTTP(t *testing.T) { SelfLink: "/api/v1beta1/boundPods/bar", }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Containers: []api.Container{{ Name: "1", diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 16523df4826..83f05e868c9 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1160,12 +1160,12 @@ func (kl *Kubelet) shouldContainerBeRestarted(container *api.Container, pod *api } if len(recentContainers) > 0 { - if pod.Spec.RestartPolicy.Never != nil { + if pod.Spec.RestartPolicy == api.RestartPolicyNever { glog.Infof("Already ran container %q of pod %q, do nothing", container.Name, podFullName) return false } - if pod.Spec.RestartPolicy.OnFailure != nil { + if pod.Spec.RestartPolicy == api.RestartPolicyOnFailure { // Check the exit code of last run if recentContainers[0].State.ExitCode == 0 { glog.Infof("Already successfully ran container %q of pod %q, do nothing", container.Name, podFullName) @@ -1297,7 +1297,7 @@ func (kl *Kubelet) computePodContainerChanges(pod *api.BoundPod, containersInPod delete(containersToKeep, podInfraContainerID) // If we are to restart Infra Container then we move containersToKeep into containersToStart // if RestartPolicy allows restarting failed containers. - if pod.Spec.RestartPolicy.Never == nil { + if pod.Spec.RestartPolicy != api.RestartPolicyNever { for _, v := range containersToKeep { containersToStart[v] = empty{} } @@ -1309,7 +1309,7 @@ func (kl *Kubelet) computePodContainerChanges(pod *api.BoundPod, containersInPod // If we're creating infra containere everything will be killed anyway // If RestartPolicy is Always or OnFailure we restart containers that were running before we // killed them when restarting Infra Container. - if pod.Spec.RestartPolicy.Never == nil { + if pod.Spec.RestartPolicy != api.RestartPolicyNever { glog.V(1).Infof("Infra Container is being recreated. %q will be restarted.", container.Name) containersToStart[index] = empty{} } @@ -1939,7 +1939,7 @@ func getPhase(spec *api.PodSpec, info api.PodInfo) api.PodPhase { return api.PodRunning case running == 0 && stopped > 0 && unknown == 0: // All containers are terminated - if spec.RestartPolicy.Always != nil { + if spec.RestartPolicy == api.RestartPolicyAlways { // All containers are in the process of restarting return api.PodRunning } @@ -1948,7 +1948,7 @@ func getPhase(spec *api.PodSpec, info api.PodInfo) api.PodPhase { // containers are terminated in success return api.PodSucceeded } - if spec.RestartPolicy.Never != nil { + if spec.RestartPolicy == api.RestartPolicyNever { // RestartPolicy is Never, and all containers are // terminated with at least one in failure return api.PodFailed diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index 711608ecd05..0f786d6cecc 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -2433,7 +2433,7 @@ func TestPodPhaseWithRestartAlways(t *testing.T) { {Name: "containerA"}, {Name: "containerB"}, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, } currentState := api.PodStatus{ Host: "machine", @@ -2524,7 +2524,7 @@ func TestPodPhaseWithRestartNever(t *testing.T) { {Name: "containerA"}, {Name: "containerB"}, }, - RestartPolicy: api.RestartPolicy{Never: &api.RestartPolicyNever{}}, + RestartPolicy: api.RestartPolicyNever, } currentState := api.PodStatus{ Host: "machine", @@ -2638,7 +2638,7 @@ func TestPodPhaseWithRestartOnFailure(t *testing.T) { {Name: "containerA"}, {Name: "containerB"}, }, - RestartPolicy: api.RestartPolicy{OnFailure: &api.RestartPolicyOnFailure{}}, + RestartPolicy: api.RestartPolicyOnFailure, } currentState := api.PodStatus{ Host: "machine", diff --git a/pkg/master/pod_cache_test.go b/pkg/master/pod_cache_test.go index f99377cfbe1..859d44cc65b 100644 --- a/pkg/master/pod_cache_test.go +++ b/pkg/master/pod_cache_test.go @@ -391,7 +391,7 @@ func TestPodPhaseWithBadNode(t *testing.T) { {Name: "containerA"}, {Name: "containerB"}, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, } runningState := api.ContainerStatus{ State: api.ContainerState{ diff --git a/pkg/registry/controller/rest_test.go b/pkg/registry/controller/rest_test.go index 70782d22b37..98408292a53 100644 --- a/pkg/registry/controller/rest_test.go +++ b/pkg/registry/controller/rest_test.go @@ -130,7 +130,7 @@ func TestControllerDecode(t *testing.T) { }, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -237,7 +237,7 @@ var validPodTemplate = api.PodTemplate{ ImagePullPolicy: api.PullIfNotPresent, }, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -509,7 +509,7 @@ func TestBeforeCreate(t *testing.T) { ImagePullPolicy: api.PullAlways, }, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSDefault, }, }, diff --git a/pkg/registry/pod/etcd/etcd_test.go b/pkg/registry/pod/etcd/etcd_test.go index af74afa185e..49052425b59 100644 --- a/pkg/registry/pod/etcd/etcd_test.go +++ b/pkg/registry/pod/etcd/etcd_test.go @@ -81,7 +81,7 @@ func validNewPod() *api.Pod { Namespace: api.NamespaceDefault, }, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, Containers: []api.Container{ { @@ -1116,7 +1116,7 @@ func TestEtcdUpdateScheduled(t *testing.T) { TerminationMessagePath: api.TerminationMessagePathDefault, }, }, - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, Status: api.PodStatus{ @@ -1191,7 +1191,7 @@ func TestEtcdUpdateStatus(t *testing.T) { expected := podStart expected.ResourceVersion = "2" - expected.Spec.RestartPolicy.Always = &api.RestartPolicyAlways{} + expected.Spec.RestartPolicy = api.RestartPolicyAlways expected.Spec.DNSPolicy = api.DNSClusterFirst expected.Spec.Containers[0].ImagePullPolicy = api.PullIfNotPresent expected.Spec.Containers[0].TerminationMessagePath = api.TerminationMessagePathDefault diff --git a/pkg/resourcequota/resource_quota_controller.go b/pkg/resourcequota/resource_quota_controller.go index 30e8c3b9f1f..2bc96fa5c9b 100644 --- a/pkg/resourcequota/resource_quota_controller.go +++ b/pkg/resourcequota/resource_quota_controller.go @@ -85,13 +85,13 @@ func FilterQuotaPods(pods []api.Pod) []api.Pod { var result []api.Pod for _, value := range pods { // a pod that has a restart policy always no matter its state counts against usage - if value.Spec.RestartPolicy.Always != nil { + if value.Spec.RestartPolicy == api.RestartPolicyAlways { result = append(result, value) continue } // a failed pod with a restart policy of on failure will count against usage if api.PodFailed == value.Status.Phase && - value.Spec.RestartPolicy.OnFailure != nil { + value.Spec.RestartPolicy == api.RestartPolicyOnFailure { result = append(result, value) continue } diff --git a/pkg/resourcequota/resource_quota_controller_test.go b/pkg/resourcequota/resource_quota_controller_test.go index a0f4c77a72e..a0282ece9f3 100644 --- a/pkg/resourcequota/resource_quota_controller_test.go +++ b/pkg/resourcequota/resource_quota_controller_test.go @@ -63,27 +63,21 @@ func TestFilterQuotaPods(t *testing.T) { { ObjectMeta: api.ObjectMeta{Name: "pod-failed-with-restart-always"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - Always: &api.RestartPolicyAlways{}, - }, + RestartPolicy: api.RestartPolicyAlways, }, Status: api.PodStatus{Phase: api.PodFailed}, }, { ObjectMeta: api.ObjectMeta{Name: "pod-failed-with-restart-on-failure"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - OnFailure: &api.RestartPolicyOnFailure{}, - }, + RestartPolicy: api.RestartPolicyOnFailure, }, Status: api.PodStatus{Phase: api.PodFailed}, }, { ObjectMeta: api.ObjectMeta{Name: "pod-failed-with-restart-never"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{ - Never: &api.RestartPolicyNever{}, - }, + RestartPolicy: api.RestartPolicyNever, }, Status: api.PodStatus{Phase: api.PodFailed}, }, diff --git a/pkg/tools/etcd_tools_test.go b/pkg/tools/etcd_tools_test.go index 821d8453e17..58d317e2f72 100644 --- a/pkg/tools/etcd_tools_test.go +++ b/pkg/tools/etcd_tools_test.go @@ -107,21 +107,21 @@ func TestExtractToList(t *testing.T) { { ObjectMeta: api.ObjectMeta{Name: "bar", ResourceVersion: "2"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "baz", ResourceVersion: "3"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "foo", ResourceVersion: "1"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -190,21 +190,21 @@ func TestExtractToListAcrossDirectories(t *testing.T) { { ObjectMeta: api.ObjectMeta{Name: "baz", ResourceVersion: "1"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "foo", ResourceVersion: "1"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "bar", ResourceVersion: "2"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -260,21 +260,21 @@ func TestExtractToListExcludesDirectories(t *testing.T) { { ObjectMeta: api.ObjectMeta{Name: "bar", ResourceVersion: "2"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "baz", ResourceVersion: "3"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, { ObjectMeta: api.ObjectMeta{Name: "foo", ResourceVersion: "1"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, }, @@ -297,7 +297,7 @@ func TestExtractObj(t *testing.T) { expect := api.Pod{ ObjectMeta: api.ObjectMeta{Name: "foo"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, } diff --git a/plugin/pkg/scheduler/factory/factory_test.go b/plugin/pkg/scheduler/factory/factory_test.go index 6a16db6e2cb..ff84612ee8b 100644 --- a/plugin/pkg/scheduler/factory/factory_test.go +++ b/plugin/pkg/scheduler/factory/factory_test.go @@ -352,7 +352,7 @@ func TestDefaultErrorFunc(t *testing.T) { testPod := &api.Pod{ ObjectMeta: api.ObjectMeta{Name: "foo", Namespace: "bar"}, Spec: api.PodSpec{ - RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}}, + RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, } diff --git a/test/e2e/pods.go b/test/e2e/pods.go index 3276825bf68..be8b2f04809 100644 --- a/test/e2e/pods.go +++ b/test/e2e/pods.go @@ -336,9 +336,7 @@ var _ = Describe("Pods", func() { Command: []string{"sh", "-c", "env; sleep 600"}, }, }, - RestartPolicy: api.RestartPolicy{ - Never: &api.RestartPolicyNever{}, - }, + RestartPolicy: api.RestartPolicyNever, }, } defer c.Pods(api.NamespaceDefault).Delete(clientPod.Name) diff --git a/test/e2e/secrets.go b/test/e2e/secrets.go index 8196ae0e6ea..22cb9555baf 100644 --- a/test/e2e/secrets.go +++ b/test/e2e/secrets.go @@ -104,9 +104,7 @@ var _ = Describe("Secrets", func() { }, }, }, - RestartPolicy: api.RestartPolicy{ - Never: &api.RestartPolicyNever{}, - }, + RestartPolicy: api.RestartPolicyNever, }, }