mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Merge pull request #19510 from madhusudancs/daemonset-nonpointer-template
Auto commit by PR queue bot
This commit is contained in:
commit
8b66e93127
File diff suppressed because it is too large
Load Diff
@ -374,7 +374,7 @@ type DaemonSetSpec struct {
|
|||||||
// that matches the template's node selector (or on every node if no node
|
// that matches the template's node selector (or on every node if no node
|
||||||
// selector is specified).
|
// selector is specified).
|
||||||
// More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template
|
// 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.
|
// Update strategy to replace existing DaemonSet pods with new pods.
|
||||||
UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`
|
UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`
|
||||||
|
@ -443,14 +443,8 @@ func Convert_extensions_DaemonSetSpec_To_v1beta1_DaemonSetSpec(in *extensions.Da
|
|||||||
} else {
|
} else {
|
||||||
out.Selector = nil
|
out.Selector = nil
|
||||||
}
|
}
|
||||||
// unable to generate simple pointer conversion for api.PodTemplateSpec -> v1.PodTemplateSpec
|
if err := Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
|
||||||
if in.Template != nil {
|
return err
|
||||||
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_extensions_DaemonSetUpdateStrategy_To_v1beta1_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
if err := Convert_extensions_DaemonSetUpdateStrategy_To_v1beta1_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -473,14 +467,8 @@ func Convert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec
|
|||||||
} else {
|
} else {
|
||||||
out.Selector = nil
|
out.Selector = nil
|
||||||
}
|
}
|
||||||
// unable to generate simple pointer conversion for v1.PodTemplateSpec -> api.PodTemplateSpec
|
if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
|
||||||
if in.Template != nil {
|
return err
|
||||||
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_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
if err := Convert_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -2585,14 +2585,8 @@ func autoConvert_extensions_DaemonSetSpec_To_v1beta1_DaemonSetSpec(in *extension
|
|||||||
} else {
|
} else {
|
||||||
out.Selector = nil
|
out.Selector = nil
|
||||||
}
|
}
|
||||||
// unable to generate simple pointer conversion for api.PodTemplateSpec -> v1.PodTemplateSpec
|
if err := Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
|
||||||
if in.Template != nil {
|
return err
|
||||||
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_extensions_DaemonSetUpdateStrategy_To_v1beta1_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
if err := Convert_extensions_DaemonSetUpdateStrategy_To_v1beta1_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -3715,14 +3709,8 @@ func autoConvert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSet
|
|||||||
} else {
|
} else {
|
||||||
out.Selector = nil
|
out.Selector = nil
|
||||||
}
|
}
|
||||||
// unable to generate simple pointer conversion for v1.PodTemplateSpec -> api.PodTemplateSpec
|
if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
|
||||||
if in.Template != nil {
|
return err
|
||||||
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_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
if err := Convert_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -1055,13 +1055,8 @@ func deepCopy_v1beta1_DaemonSetSpec(in DaemonSetSpec, out *DaemonSetSpec, c *con
|
|||||||
} else {
|
} else {
|
||||||
out.Selector = nil
|
out.Selector = nil
|
||||||
}
|
}
|
||||||
if in.Template != nil {
|
if err := deepCopy_v1_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
|
||||||
out.Template = new(v1.PodTemplateSpec)
|
return err
|
||||||
if err := deepCopy_v1_PodTemplateSpec(*in.Template, out.Template, c); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Template = nil
|
|
||||||
}
|
}
|
||||||
if err := deepCopy_v1beta1_DaemonSetUpdateStrategy(in.UpdateStrategy, &out.UpdateStrategy, c); err != nil {
|
if err := deepCopy_v1beta1_DaemonSetUpdateStrategy(in.UpdateStrategy, &out.UpdateStrategy, c); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -29,10 +29,8 @@ func addDefaultingFuncs(scheme *runtime.Scheme) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
func(obj *DaemonSet) {
|
func(obj *DaemonSet) {
|
||||||
var labels map[string]string
|
labels := obj.Spec.Template.Labels
|
||||||
if obj.Spec.Template != nil {
|
|
||||||
labels = obj.Spec.Template.Labels
|
|
||||||
}
|
|
||||||
// TODO: support templates defined elsewhere when we support them in the API
|
// TODO: support templates defined elsewhere when we support them in the API
|
||||||
if labels != nil {
|
if labels != nil {
|
||||||
if obj.Spec.Selector == nil {
|
if obj.Spec.Selector == nil {
|
||||||
|
@ -34,7 +34,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
|
|||||||
defaultIntOrString := intstr.FromInt(1)
|
defaultIntOrString := intstr.FromInt(1)
|
||||||
defaultLabels := map[string]string{"foo": "bar"}
|
defaultLabels := map[string]string{"foo": "bar"}
|
||||||
period := int64(v1.DefaultTerminationGracePeriodSeconds)
|
period := int64(v1.DefaultTerminationGracePeriodSeconds)
|
||||||
defaultTemplate := &v1.PodTemplateSpec{
|
defaultTemplate := v1.PodTemplateSpec{
|
||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
DNSPolicy: v1.DNSClusterFirst,
|
DNSPolicy: v1.DNSClusterFirst,
|
||||||
RestartPolicy: v1.RestartPolicyAlways,
|
RestartPolicy: v1.RestartPolicyAlways,
|
||||||
@ -45,6 +45,14 @@ func TestSetDefaultDaemonSet(t *testing.T) {
|
|||||||
Labels: defaultLabels,
|
Labels: defaultLabels,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
templateNoLabel := v1.PodTemplateSpec{
|
||||||
|
Spec: v1.PodSpec{
|
||||||
|
DNSPolicy: v1.DNSClusterFirst,
|
||||||
|
RestartPolicy: v1.RestartPolicyAlways,
|
||||||
|
SecurityContext: &v1.PodSecurityContext{},
|
||||||
|
TerminationGracePeriodSeconds: &period,
|
||||||
|
},
|
||||||
|
}
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
original *DaemonSet
|
original *DaemonSet
|
||||||
expected *DaemonSet
|
expected *DaemonSet
|
||||||
@ -116,6 +124,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
|
|||||||
original: &DaemonSet{},
|
original: &DaemonSet{},
|
||||||
expected: &DaemonSet{
|
expected: &DaemonSet{
|
||||||
Spec: DaemonSetSpec{
|
Spec: DaemonSetSpec{
|
||||||
|
Template: templateNoLabel,
|
||||||
UpdateStrategy: DaemonSetUpdateStrategy{
|
UpdateStrategy: DaemonSetUpdateStrategy{
|
||||||
Type: RollingUpdateDaemonSetStrategyType,
|
Type: RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &RollingUpdateDaemonSet{
|
RollingUpdate: &RollingUpdateDaemonSet{
|
||||||
@ -136,6 +145,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expected: &DaemonSet{
|
expected: &DaemonSet{
|
||||||
Spec: DaemonSetSpec{
|
Spec: DaemonSetSpec{
|
||||||
|
Template: templateNoLabel,
|
||||||
UpdateStrategy: DaemonSetUpdateStrategy{
|
UpdateStrategy: DaemonSetUpdateStrategy{
|
||||||
Type: RollingUpdateDaemonSetStrategyType,
|
Type: RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &RollingUpdateDaemonSet{
|
RollingUpdate: &RollingUpdateDaemonSet{
|
||||||
@ -157,6 +167,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expected: &DaemonSet{
|
expected: &DaemonSet{
|
||||||
Spec: DaemonSetSpec{
|
Spec: DaemonSetSpec{
|
||||||
|
Template: templateNoLabel,
|
||||||
UpdateStrategy: DaemonSetUpdateStrategy{
|
UpdateStrategy: DaemonSetUpdateStrategy{
|
||||||
Type: RollingUpdateDaemonSetStrategyType,
|
Type: RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &RollingUpdateDaemonSet{
|
RollingUpdate: &RollingUpdateDaemonSet{
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -364,7 +364,7 @@ type DaemonSetSpec struct {
|
|||||||
// that matches the template's node selector (or on every node if no node
|
// that matches the template's node selector (or on every node if no node
|
||||||
// selector is specified).
|
// selector is specified).
|
||||||
// More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template
|
// 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.
|
// Update strategy to replace existing DaemonSet pods with new pods.
|
||||||
UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`
|
UpdateStrategy DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`
|
||||||
|
@ -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.
|
// 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{}
|
allErrs := field.ErrorList{}
|
||||||
podSpec := podTemplate.Spec
|
podSpec := podTemplate.Spec
|
||||||
// podTemplate.Spec is not a pointer, so we can modify NodeSelector and NodeName directly.
|
// 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 {
|
func ValidateDaemonSetSpec(spec *extensions.DaemonSetSpec, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := 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"))...)
|
allErrs = append(allErrs, ValidateLabelSelector(spec.Selector, fldPath.Child("selector"))...)
|
||||||
|
|
||||||
selector, err := extensions.LabelSelectorAsSelector(spec.Selector)
|
selector, err := extensions.LabelSelectorAsSelector(spec.Selector)
|
||||||
if err == nil && !selector.Matches(labels.Set(spec.Template.Labels)) {
|
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, 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.
|
// 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"))...)
|
allErrs = append(allErrs, apivalidation.ValidateReadOnlyPersistentDisks(spec.Template.Spec.Volumes, fldPath.Child("template", "spec", "volumes"))...)
|
||||||
// RestartPolicy has already been first-order validated as per ValidatePodTemplateSpec().
|
// RestartPolicy has already been first-order validated as per ValidatePodTemplateSpec().
|
||||||
|
@ -376,7 +376,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -384,7 +384,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -394,7 +394,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -402,7 +402,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector2},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector2},
|
||||||
Template: &validPodTemplateAbc2.Template,
|
Template: validPodTemplateAbc2.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -412,7 +412,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -420,7 +420,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateNodeSelector.Template,
|
Template: validPodTemplateNodeSelector.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -439,7 +439,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -447,7 +447,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -457,7 +457,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -465,7 +465,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: invalidSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: invalidSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -475,7 +475,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -483,7 +483,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &invalidPodTemplate.Template,
|
Template: invalidPodTemplate.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -493,7 +493,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -501,7 +501,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateDef.Template,
|
Template: validPodTemplateDef.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -511,7 +511,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -519,7 +519,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &readWriteVolumePodTemplate.Template,
|
Template: readWriteVolumePodTemplate.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -529,7 +529,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -537,7 +537,7 @@ func TestValidateDaemonSetUpdate(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: invalidSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: invalidSelector},
|
||||||
Template: &validPodTemplateAbc.Template,
|
Template: validPodTemplateAbc.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: nil,
|
RollingUpdate: nil,
|
||||||
@ -590,7 +590,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -598,7 +598,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "abc-123", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc-123", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: validUpdateStrategy,
|
UpdateStrategy: validUpdateStrategy,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -614,27 +614,27 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"missing-namespace": {
|
"missing-namespace": {
|
||||||
ObjectMeta: api.ObjectMeta{Name: "abc-123"},
|
ObjectMeta: api.ObjectMeta{Name: "abc-123"},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"empty selector": {
|
"empty selector": {
|
||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"selector_doesnt_match": {
|
"selector_doesnt_match": {
|
||||||
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
|
Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"invalid template": {
|
"invalid template": {
|
||||||
@ -653,7 +653,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"invalid_label 2": {
|
"invalid_label 2": {
|
||||||
@ -665,7 +665,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &invalidPodTemplate.Template,
|
Template: invalidPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"invalid_annotation": {
|
"invalid_annotation": {
|
||||||
@ -678,7 +678,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"invalid restart policy 1": {
|
"invalid restart policy 1": {
|
||||||
@ -688,7 +688,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
RestartPolicy: api.RestartPolicyOnFailure,
|
RestartPolicy: api.RestartPolicyOnFailure,
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
DNSPolicy: api.DNSClusterFirst,
|
||||||
@ -707,7 +707,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
RestartPolicy: api.RestartPolicyNever,
|
RestartPolicy: api.RestartPolicyNever,
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
DNSPolicy: api.DNSClusterFirst,
|
||||||
@ -726,7 +726,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: "",
|
Type: "",
|
||||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
||||||
@ -742,7 +742,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: nil,
|
RollingUpdate: nil,
|
||||||
@ -756,7 +756,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
||||||
@ -773,7 +773,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
||||||
@ -790,7 +790,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
||||||
@ -807,7 +807,7 @@ func TestValidateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
Selector: &extensions.LabelSelector{MatchLabels: validSelector},
|
||||||
Template: &validPodTemplate.Template,
|
Template: validPodTemplate.Template,
|
||||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
RollingUpdate: &extensions.RollingUpdateDaemonSet{
|
||||||
|
@ -52,7 +52,7 @@ func TestListDaemonSets(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{},
|
Template: api.PodTemplateSpec{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -80,7 +80,7 @@ func TestGetDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{},
|
Template: api.PodTemplateSpec{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -120,7 +120,7 @@ func TestUpdateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{},
|
Template: api.PodTemplateSpec{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -148,7 +148,7 @@ func TestUpdateDaemonSetUpdateStatus(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{},
|
Template: api.PodTemplateSpec{},
|
||||||
},
|
},
|
||||||
Status: extensions.DaemonSetStatus{},
|
Status: extensions.DaemonSetStatus{},
|
||||||
},
|
},
|
||||||
@ -188,7 +188,7 @@ func TestCreateDaemonSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{},
|
Template: api.PodTemplateSpec{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -434,7 +434,7 @@ func (dsc *DaemonSetsController) manage(ds *extensions.DaemonSet) {
|
|||||||
for i := 0; i < createDiff; i++ {
|
for i := 0; i < createDiff; i++ {
|
||||||
go func(ix int) {
|
go func(ix int) {
|
||||||
defer createWait.Done()
|
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)
|
glog.V(2).Infof("Failed creation, decrementing expectations for set %q/%q", ds.Namespace, ds.Name)
|
||||||
dsc.expectations.CreationObserved(dsKey)
|
dsc.expectations.CreationObserved(dsKey)
|
||||||
util.HandleError(err)
|
util.HandleError(err)
|
||||||
|
@ -59,7 +59,7 @@ func newDaemonSet(name string) *extensions.DaemonSet {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: simpleDaemonSetLabel},
|
Selector: &extensions.LabelSelector{MatchLabels: simpleDaemonSetLabel},
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
Labels: simpleDaemonSetLabel,
|
Labels: simpleDaemonSetLabel,
|
||||||
},
|
},
|
||||||
|
@ -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) {
|
func describeDaemonSet(daemon *extensions.DaemonSet, events *api.EventList, running, waiting, succeeded, failed int) (string, error) {
|
||||||
return tabbedString(func(out io.Writer) error {
|
return tabbedString(func(out io.Writer) error {
|
||||||
fmt.Fprintf(out, "Name:\t%s\n", daemon.Name)
|
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))
|
||||||
fmt.Fprintf(out, "Image(s):\t%s\n", makeImageList(&daemon.Spec.Template.Spec))
|
|
||||||
} else {
|
|
||||||
fmt.Fprintf(out, "Image(s):\t%s\n", "<no template>")
|
|
||||||
}
|
|
||||||
selector, err := extensions.LabelSelectorAsSelector(daemon.Spec.Selector)
|
selector, err := extensions.LabelSelectorAsSelector(daemon.Spec.Selector)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// this shouldn't happen if LabelSelector passed validation
|
// this shouldn't happen if LabelSelector passed validation
|
||||||
|
@ -44,7 +44,7 @@ func newValidDaemonSet() *extensions.DaemonSet {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"a": "b"}},
|
Selector: &extensions.LabelSelector{MatchLabels: map[string]string{"a": "b"}},
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
Labels: map[string]string{"a": "b"},
|
Labels: map[string]string{"a": "b"},
|
||||||
},
|
},
|
||||||
|
@ -90,7 +90,7 @@ var _ = Describe("Daemon set [Feature:DaemonSet]", func() {
|
|||||||
Name: dsName,
|
Name: dsName,
|
||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
Labels: label,
|
Labels: label,
|
||||||
},
|
},
|
||||||
@ -148,7 +148,7 @@ var _ = Describe("Daemon set [Feature:DaemonSet]", func() {
|
|||||||
},
|
},
|
||||||
Spec: extensions.DaemonSetSpec{
|
Spec: extensions.DaemonSetSpec{
|
||||||
Selector: &extensions.LabelSelector{MatchLabels: complexLabel},
|
Selector: &extensions.LabelSelector{MatchLabels: complexLabel},
|
||||||
Template: &api.PodTemplateSpec{
|
Template: api.PodTemplateSpec{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
Labels: complexLabel,
|
Labels: complexLabel,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user