diff --git a/pkg/apis/extensions/validation/BUILD b/pkg/apis/extensions/validation/BUILD index 3dee3649dd0..86beccd8775 100644 --- a/pkg/apis/extensions/validation/BUILD +++ b/pkg/apis/extensions/validation/BUILD @@ -19,6 +19,7 @@ go_library( "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/validation", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/apis/extensions/validation/validation.go b/pkg/apis/extensions/validation/validation.go index 3b309cef7f0..97a95d31a48 100644 --- a/pkg/apis/extensions/validation/validation.go +++ b/pkg/apis/extensions/validation/validation.go @@ -24,6 +24,7 @@ import ( "strconv" "strings" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/labels" @@ -112,7 +113,7 @@ func ValidateDaemonSetSpecUpdate(newSpec, oldSpec *extensions.DaemonSetSpec, fld } // TemplateGeneration should be increased when and only when template is changed - templateUpdated := !reflect.DeepEqual(newSpec.Template, oldSpec.Template) + templateUpdated := !apiequality.Semantic.DeepEqual(newSpec.Template, oldSpec.Template) if newSpec.TemplateGeneration == oldSpec.TemplateGeneration && templateUpdated { allErrs = append(allErrs, field.Invalid(fldPath.Child("templateGeneration"), newSpec.TemplateGeneration, "must be incremented upon template update")) } else if newSpec.TemplateGeneration > oldSpec.TemplateGeneration && !templateUpdated { diff --git a/pkg/registry/extensions/daemonset/BUILD b/pkg/registry/extensions/daemonset/BUILD index d523cf24486..24cebe6d4c4 100644 --- a/pkg/registry/extensions/daemonset/BUILD +++ b/pkg/registry/extensions/daemonset/BUILD @@ -19,6 +19,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/registry/extensions/daemonset/strategy.go b/pkg/registry/extensions/daemonset/strategy.go index 2e508bdb998..cc06e0a9cb0 100644 --- a/pkg/registry/extensions/daemonset/strategy.go +++ b/pkg/registry/extensions/daemonset/strategy.go @@ -18,8 +18,8 @@ package daemonset import ( "fmt" - "reflect" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" @@ -87,12 +87,12 @@ func (daemonSetStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, ol // // TODO: Any changes to a part of the object that represents desired state (labels, // annotations etc) should also increment the generation. - if !reflect.DeepEqual(oldDaemonSet.Spec.Template, newDaemonSet.Spec.Template) { + if !apiequality.Semantic.DeepEqual(oldDaemonSet.Spec.Template, newDaemonSet.Spec.Template) { newDaemonSet.Spec.TemplateGeneration = oldDaemonSet.Spec.TemplateGeneration + 1 newDaemonSet.Generation = oldDaemonSet.Generation + 1 return } - if !reflect.DeepEqual(oldDaemonSet.Spec, newDaemonSet.Spec) { + if !apiequality.Semantic.DeepEqual(oldDaemonSet.Spec, newDaemonSet.Spec) { newDaemonSet.Generation = oldDaemonSet.Generation + 1 } }