mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Make selector immutable the default behavior, except for legacy versions
This commit is contained in:
parent
298c42bbcd
commit
7380424b67
@ -18,8 +18,6 @@ go_library(
|
||||
"//pkg/api/pod:go_default_library",
|
||||
"//pkg/apis/extensions:go_default_library",
|
||||
"//pkg/apis/extensions/validation:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1beta2:go_default_library",
|
||||
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||
|
@ -17,10 +17,6 @@ limitations under the License.
|
||||
package daemonset
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||
@ -136,11 +132,9 @@ func (daemonSetStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old
|
||||
switch groupVersion {
|
||||
case extensionsv1beta1.SchemeGroupVersion:
|
||||
// no-op for compatibility
|
||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
||||
default:
|
||||
// disallow mutation of selector
|
||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newDaemonSet.Spec.Selector, oldDaemonSet.Spec.Selector, field.NewPath("spec").Child("selector"))...)
|
||||
default:
|
||||
panic(fmt.Sprintf("unexpected group/version: %v", groupVersion))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,9 +19,7 @@ go_library(
|
||||
"//pkg/api/pod:go_default_library",
|
||||
"//pkg/apis/extensions:go_default_library",
|
||||
"//pkg/apis/extensions/validation:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1beta1:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1beta2:go_default_library",
|
||||
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||
|
@ -17,11 +17,7 @@ limitations under the License.
|
||||
package deployment
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||
@ -114,15 +110,11 @@ func (deploymentStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old
|
||||
if requestInfo, found := genericapirequest.RequestInfoFrom(ctx); found {
|
||||
groupVersion := schema.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion}
|
||||
switch groupVersion {
|
||||
case appsv1beta1.SchemeGroupVersion:
|
||||
case appsv1beta1.SchemeGroupVersion, extensionsv1beta1.SchemeGroupVersion:
|
||||
// no-op for compatibility
|
||||
case extensionsv1beta1.SchemeGroupVersion:
|
||||
// no-op for compatibility
|
||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
||||
default:
|
||||
// disallow mutation of selector
|
||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newDeployment.Spec.Selector, oldDeployment.Spec.Selector, field.NewPath("spec").Child("selector"))...)
|
||||
default:
|
||||
panic(fmt.Sprintf("unexpected group/version: %v", groupVersion))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,8 +19,6 @@ go_library(
|
||||
"//pkg/api/pod:go_default_library",
|
||||
"//pkg/apis/extensions:go_default_library",
|
||||
"//pkg/apis/extensions/validation:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
||||
"//vendor/k8s.io/api/apps/v1beta2:go_default_library",
|
||||
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||
|
@ -22,8 +22,6 @@ import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||
@ -128,11 +126,9 @@ func (rsStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime
|
||||
switch groupVersion {
|
||||
case extensionsv1beta1.SchemeGroupVersion:
|
||||
// no-op for compatibility
|
||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
||||
default:
|
||||
// disallow mutation of selector
|
||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newReplicaSet.Spec.Selector, oldReplicaSet.Spec.Selector, field.NewPath("spec").Child("selector"))...)
|
||||
default:
|
||||
panic(fmt.Sprintf("unexpected group/version: %v", groupVersion))
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user