diff --git a/pkg/apis/extensions/types.go b/pkg/apis/extensions/types.go index 482512ae6fd..d92285e3f0a 100644 --- a/pkg/apis/extensions/types.go +++ b/pkg/apis/extensions/types.go @@ -374,7 +374,7 @@ type DaemonSetSpec struct { // that matches the template's node selector (or on every node if no node // selector is specified). // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template - Template *api.PodTemplateSpec `json:"template,omitempty"` + Template api.PodTemplateSpec `json:"template"` // Update strategy to replace existing DaemonSet pods with new pods. UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"` diff --git a/pkg/apis/extensions/v1beta1/conversion.go b/pkg/apis/extensions/v1beta1/conversion.go index 988c89d4c6a..ec0c8441dca 100644 --- a/pkg/apis/extensions/v1beta1/conversion.go +++ b/pkg/apis/extensions/v1beta1/conversion.go @@ -443,14 +443,8 @@ func Convert_extensions_DaemonSetSpec_To_v1beta1_DaemonSetSpec(in *extensions.Da } else { out.Selector = nil } - // unable to generate simple pointer conversion for api.PodTemplateSpec -> v1.PodTemplateSpec - if in.Template != nil { - out.Template = new(v1.PodTemplateSpec) - if err := Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(in.Template, out.Template, s); err != nil { - return err - } - } else { - out.Template = nil + if err := Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { + return err } if err := Convert_extensions_DaemonSetUpdateStrategy_To_v1beta1_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil { return err @@ -473,14 +467,8 @@ func Convert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec } else { out.Selector = nil } - // unable to generate simple pointer conversion for v1.PodTemplateSpec -> api.PodTemplateSpec - if in.Template != nil { - out.Template = new(api.PodTemplateSpec) - if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { - return err - } - } else { - out.Template = nil + if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { + return err } if err := Convert_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil { return err diff --git a/pkg/apis/extensions/v1beta1/defaults.go b/pkg/apis/extensions/v1beta1/defaults.go index 1a75969e91c..356849d9944 100644 --- a/pkg/apis/extensions/v1beta1/defaults.go +++ b/pkg/apis/extensions/v1beta1/defaults.go @@ -29,10 +29,8 @@ func addDefaultingFuncs(scheme *runtime.Scheme) { } }, func(obj *DaemonSet) { - var labels map[string]string - if obj.Spec.Template != nil { - labels = obj.Spec.Template.Labels - } + labels := obj.Spec.Template.Labels + // TODO: support templates defined elsewhere when we support them in the API if labels != nil { if obj.Spec.Selector == nil { diff --git a/pkg/apis/extensions/v1beta1/defaults_test.go b/pkg/apis/extensions/v1beta1/defaults_test.go index 8cb2684afdb..28a24dd4326 100644 --- a/pkg/apis/extensions/v1beta1/defaults_test.go +++ b/pkg/apis/extensions/v1beta1/defaults_test.go @@ -34,7 +34,7 @@ func TestSetDefaultDaemonSet(t *testing.T) { defaultIntOrString := intstr.FromInt(1) defaultLabels := map[string]string{"foo": "bar"} period := int64(v1.DefaultTerminationGracePeriodSeconds) - defaultTemplate := &v1.PodTemplateSpec{ + defaultTemplate := v1.PodTemplateSpec{ Spec: v1.PodSpec{ DNSPolicy: v1.DNSClusterFirst, RestartPolicy: v1.RestartPolicyAlways, diff --git a/pkg/apis/extensions/v1beta1/types.go b/pkg/apis/extensions/v1beta1/types.go index 1de5d6a9641..ef1abbb2680 100644 --- a/pkg/apis/extensions/v1beta1/types.go +++ b/pkg/apis/extensions/v1beta1/types.go @@ -364,7 +364,7 @@ type DaemonSetSpec struct { // that matches the template's node selector (or on every node if no node // selector is specified). // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template - Template *v1.PodTemplateSpec `json:"template,omitempty"` + Template v1.PodTemplateSpec `json:"template"` // Update strategy to replace existing DaemonSet pods with new pods. UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"` diff --git a/pkg/apis/extensions/validation/validation.go b/pkg/apis/extensions/validation/validation.go index 6dd2d667cd5..9eb12d89dbc 100644 --- a/pkg/apis/extensions/validation/validation.go +++ b/pkg/apis/extensions/validation/validation.go @@ -164,7 +164,7 @@ func ValidateDaemonSetStatusUpdate(controller, oldController *extensions.DaemonS } // ValidateDaemonSetTemplateUpdate tests that certain fields in the daemon set's pod template are not updated. -func ValidateDaemonSetTemplateUpdate(podTemplate, oldPodTemplate *api.PodTemplateSpec, fldPath *field.Path) field.ErrorList { +func ValidateDaemonSetTemplateUpdate(podTemplate, oldPodTemplate api.PodTemplateSpec, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} podSpec := podTemplate.Spec // podTemplate.Spec is not a pointer, so we can modify NodeSelector and NodeName directly. @@ -210,20 +210,14 @@ func ValidateDaemonSetUpdateStrategy(strategy *extensions.DaemonSetUpdateStrateg func ValidateDaemonSetSpec(spec *extensions.DaemonSetSpec, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} - // The order of these checks is important because spec.Template is tested for nil value here - // before accessing its labels in the following check. - if spec.Template == nil { - allErrs = append(allErrs, field.Required(fldPath.Child("template"), "")) - return allErrs - } - allErrs = append(allErrs, ValidateLabelSelector(spec.Selector, fldPath.Child("selector"))...) + selector, err := extensions.LabelSelectorAsSelector(spec.Selector) if err == nil && !selector.Matches(labels.Set(spec.Template.Labels)) { allErrs = append(allErrs, field.Invalid(fldPath.Child("template", "metadata", "labels"), spec.Template.Labels, "`selector` does not match template `labels`")) } - allErrs = append(allErrs, apivalidation.ValidatePodTemplateSpec(spec.Template, fldPath.Child("template"))...) + allErrs = append(allErrs, apivalidation.ValidatePodTemplateSpec(&spec.Template, fldPath.Child("template"))...) // Daemons typically run on more than one node, so mark Read-Write persistent disks as invalid. allErrs = append(allErrs, apivalidation.ValidateReadOnlyPersistentDisks(spec.Template.Spec.Volumes, fldPath.Child("template", "spec", "volumes"))...) // RestartPolicy has already been first-order validated as per ValidatePodTemplateSpec(). diff --git a/pkg/apis/extensions/validation/validation_test.go b/pkg/apis/extensions/validation/validation_test.go index faea41945e5..b1de89b352e 100644 --- a/pkg/apis/extensions/validation/validation_test.go +++ b/pkg/apis/extensions/validation/validation_test.go @@ -376,7 +376,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -384,7 +384,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -394,7 +394,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -402,7 +402,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector2}, - Template: &validPodTemplateAbc2.Template, + Template: validPodTemplateAbc2.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -412,7 +412,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -420,7 +420,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateNodeSelector.Template, + Template: validPodTemplateNodeSelector.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -439,7 +439,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -447,7 +447,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -457,7 +457,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -465,7 +465,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: invalidSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -475,7 +475,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -483,7 +483,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &invalidPodTemplate.Template, + Template: invalidPodTemplate.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -493,7 +493,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -501,7 +501,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateDef.Template, + Template: validPodTemplateDef.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -511,7 +511,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -519,7 +519,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &readWriteVolumePodTemplate.Template, + Template: readWriteVolumePodTemplate.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -529,7 +529,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -537,7 +537,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: invalidSelector}, - Template: &validPodTemplateAbc.Template, + Template: validPodTemplateAbc.Template, UpdateStrategy: extensions.DaemonSetUpdateStrategy{ Type: extensions.RollingUpdateDaemonSetStrategyType, RollingUpdate: nil, @@ -590,7 +590,7 @@ func TestValidateDaemonSet(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -598,7 +598,7 @@ func TestValidateDaemonSet(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "abc-123", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, UpdateStrategy: validUpdateStrategy, }, }, @@ -614,27 +614,27 @@ func TestValidateDaemonSet(t *testing.T) { ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "missing-namespace": { ObjectMeta: api.ObjectMeta{Name: "abc-123"}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "empty selector": { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "selector_doesnt_match": { ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "invalid template": { @@ -653,7 +653,7 @@ func TestValidateDaemonSet(t *testing.T) { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "invalid_label 2": { @@ -665,7 +665,7 @@ func TestValidateDaemonSet(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &invalidPodTemplate.Template, + Template: invalidPodTemplate.Template, }, }, "invalid_annotation": { @@ -678,7 +678,7 @@ func TestValidateDaemonSet(t *testing.T) { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &validPodTemplate.Template, + Template: validPodTemplate.Template, }, }, "invalid restart policy 1": { @@ -688,7 +688,7 @@ func TestValidateDaemonSet(t *testing.T) { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ Spec: api.PodSpec{ RestartPolicy: api.RestartPolicyOnFailure, DNSPolicy: api.DNSClusterFirst, @@ -707,7 +707,7 @@ func TestValidateDaemonSet(t *testing.T) { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: validSelector}, - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ Spec: api.PodSpec{ RestartPolicy: api.RestartPolicyNever, DNSPolicy: api.DNSClusterFirst, diff --git a/pkg/client/unversioned/daemon_sets_test.go b/pkg/client/unversioned/daemon_sets_test.go index 550ec68a4f0..2bfbb44b0a0 100644 --- a/pkg/client/unversioned/daemon_sets_test.go +++ b/pkg/client/unversioned/daemon_sets_test.go @@ -52,7 +52,7 @@ func TestListDaemonSets(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{}, + Template: api.PodTemplateSpec{}, }, }, }, @@ -80,7 +80,7 @@ func TestGetDaemonSet(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{}, + Template: api.PodTemplateSpec{}, }, }, }, @@ -120,7 +120,7 @@ func TestUpdateDaemonSet(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{}, + Template: api.PodTemplateSpec{}, }, }, }, @@ -148,7 +148,7 @@ func TestUpdateDaemonSetUpdateStatus(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{}, + Template: api.PodTemplateSpec{}, }, Status: extensions.DaemonSetStatus{}, }, @@ -188,7 +188,7 @@ func TestCreateDaemonSet(t *testing.T) { }, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{}, + Template: api.PodTemplateSpec{}, }, }, }, diff --git a/pkg/controller/daemon/controller.go b/pkg/controller/daemon/controller.go index 0c4907ecc34..ed10b158d3c 100644 --- a/pkg/controller/daemon/controller.go +++ b/pkg/controller/daemon/controller.go @@ -434,7 +434,7 @@ func (dsc *DaemonSetsController) manage(ds *extensions.DaemonSet) { for i := 0; i < createDiff; i++ { go func(ix int) { defer createWait.Done() - if err := dsc.podControl.CreatePodsOnNode(nodesNeedingDaemonPods[ix], ds.Namespace, ds.Spec.Template, ds); err != nil { + if err := dsc.podControl.CreatePodsOnNode(nodesNeedingDaemonPods[ix], ds.Namespace, &ds.Spec.Template, ds); err != nil { glog.V(2).Infof("Failed creation, decrementing expectations for set %q/%q", ds.Namespace, ds.Name) dsc.expectations.CreationObserved(dsKey) util.HandleError(err) diff --git a/pkg/controller/daemon/controller_test.go b/pkg/controller/daemon/controller_test.go index 5845b7c5f66..bd53dd2903e 100644 --- a/pkg/controller/daemon/controller_test.go +++ b/pkg/controller/daemon/controller_test.go @@ -59,7 +59,7 @@ func newDaemonSet(name string) *extensions.DaemonSet { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: simpleDaemonSetLabel}, - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ ObjectMeta: api.ObjectMeta{ Labels: simpleDaemonSetLabel, }, diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index a336a925352..161f629fba9 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -960,11 +960,7 @@ func (d *DaemonSetDescriber) Describe(namespace, name string) (string, error) { func describeDaemonSet(daemon *extensions.DaemonSet, events *api.EventList, running, waiting, succeeded, failed int) (string, error) { return tabbedString(func(out io.Writer) error { fmt.Fprintf(out, "Name:\t%s\n", daemon.Name) - if daemon.Spec.Template != nil { - fmt.Fprintf(out, "Image(s):\t%s\n", makeImageList(&daemon.Spec.Template.Spec)) - } else { - fmt.Fprintf(out, "Image(s):\t%s\n", "") - } + fmt.Fprintf(out, "Image(s):\t%s\n", makeImageList(&daemon.Spec.Template.Spec)) selector, err := extensions.LabelSelectorAsSelector(daemon.Spec.Selector) if err != nil { // this shouldn't happen if LabelSelector passed validation diff --git a/pkg/registry/daemonset/etcd/etcd_test.go b/pkg/registry/daemonset/etcd/etcd_test.go index de37afd71c3..913f45870bb 100755 --- a/pkg/registry/daemonset/etcd/etcd_test.go +++ b/pkg/registry/daemonset/etcd/etcd_test.go @@ -44,7 +44,7 @@ func newValidDaemonSet() *extensions.DaemonSet { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"a": "b"}}, - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ ObjectMeta: api.ObjectMeta{ Labels: map[string]string{"a": "b"}, }, diff --git a/test/e2e/daemon_set.go b/test/e2e/daemon_set.go index 130130c02b8..5ee6bd24ae6 100644 --- a/test/e2e/daemon_set.go +++ b/test/e2e/daemon_set.go @@ -90,7 +90,7 @@ var _ = Describe("Daemon set [Feature:DaemonSet]", func() { Name: dsName, }, Spec: extensions.DaemonSetSpec{ - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ ObjectMeta: api.ObjectMeta{ Labels: label, }, @@ -148,7 +148,7 @@ var _ = Describe("Daemon set [Feature:DaemonSet]", func() { }, Spec: extensions.DaemonSetSpec{ Selector: &extensions.LabelSelector{MatchLabels: complexLabel}, - Template: &api.PodTemplateSpec{ + Template: api.PodTemplateSpec{ ObjectMeta: api.ObjectMeta{ Labels: complexLabel, },