mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #5477 from dchen1107/clean
Convert RestartPolicy to string for v1beta3.
This commit is contained in:
		@@ -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{
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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,9 +1608,7 @@ func TestValidateReplicationController(t *testing.T) {
 | 
			
		||||
				Selector: validSelector,
 | 
			
		||||
				Template: &api.PodTemplateSpec{
 | 
			
		||||
					Spec: api.PodSpec{
 | 
			
		||||
						RestartPolicy: api.RestartPolicy{
 | 
			
		||||
							OnFailure: &api.RestartPolicyOnFailure{},
 | 
			
		||||
						},
 | 
			
		||||
						RestartPolicy: api.RestartPolicyOnFailure,
 | 
			
		||||
						DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
					},
 | 
			
		||||
					ObjectMeta: api.ObjectMeta{
 | 
			
		||||
@@ -1713,9 +1626,7 @@ func TestValidateReplicationController(t *testing.T) {
 | 
			
		||||
				Selector: validSelector,
 | 
			
		||||
				Template: &api.PodTemplateSpec{
 | 
			
		||||
					Spec: api.PodSpec{
 | 
			
		||||
						RestartPolicy: api.RestartPolicy{
 | 
			
		||||
							Never: &api.RestartPolicyNever{},
 | 
			
		||||
						},
 | 
			
		||||
						RestartPolicy: api.RestartPolicyNever,
 | 
			
		||||
						DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
					},
 | 
			
		||||
					ObjectMeta: api.ObjectMeta{
 | 
			
		||||
 
 | 
			
		||||
@@ -85,9 +85,7 @@ func newReplicationController(replicas int) api.ReplicationController {
 | 
			
		||||
							ImagePullPolicy:        api.PullIfNotPresent,
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicy{
 | 
			
		||||
						Always: &api.RestartPolicyAlways{},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicyAlways,
 | 
			
		||||
					DNSPolicy:     api.DNSDefault,
 | 
			
		||||
					NodeSelector: map[string]string{
 | 
			
		||||
						"baz": "blah",
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
@@ -49,9 +49,7 @@ func TestMerge(t *testing.T) {
 | 
			
		||||
					Name: "foo",
 | 
			
		||||
				},
 | 
			
		||||
				Spec: api.PodSpec{
 | 
			
		||||
					RestartPolicy: api.RestartPolicy{
 | 
			
		||||
						Always: &api.RestartPolicyAlways{},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicyAlways,
 | 
			
		||||
					DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
@@ -70,9 +68,7 @@ func TestMerge(t *testing.T) {
 | 
			
		||||
				},
 | 
			
		||||
				Spec: api.PodSpec{
 | 
			
		||||
					Host:          "bar",
 | 
			
		||||
					RestartPolicy: api.RestartPolicy{
 | 
			
		||||
						Always: &api.RestartPolicyAlways{},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicyAlways,
 | 
			
		||||
					DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
@@ -100,9 +96,7 @@ func TestMerge(t *testing.T) {
 | 
			
		||||
							VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}},
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicy{
 | 
			
		||||
						Always: &api.RestartPolicyAlways{},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicyAlways,
 | 
			
		||||
					DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
@@ -127,9 +121,7 @@ func TestMerge(t *testing.T) {
 | 
			
		||||
					Name: "",
 | 
			
		||||
				},
 | 
			
		||||
				Spec: api.PodSpec{
 | 
			
		||||
					RestartPolicy: api.RestartPolicy{
 | 
			
		||||
						Always: &api.RestartPolicyAlways{},
 | 
			
		||||
					},
 | 
			
		||||
					RestartPolicy: api.RestartPolicyAlways,
 | 
			
		||||
					DNSPolicy:     api.DNSClusterFirst,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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",
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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",
 | 
			
		||||
 
 | 
			
		||||
@@ -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{
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -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},
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -104,9 +104,7 @@ var _ = Describe("Secrets", func() {
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
				RestartPolicy: api.RestartPolicy{
 | 
			
		||||
					Never: &api.RestartPolicyNever{},
 | 
			
		||||
				},
 | 
			
		||||
				RestartPolicy: api.RestartPolicyNever,
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user