mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +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/api/pod:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation: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/api/extensions/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
|
@ -17,10 +17,6 @@ limitations under the License.
|
|||||||
package daemonset
|
package daemonset
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
@ -136,11 +132,9 @@ func (daemonSetStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old
|
|||||||
switch groupVersion {
|
switch groupVersion {
|
||||||
case extensionsv1beta1.SchemeGroupVersion:
|
case extensionsv1beta1.SchemeGroupVersion:
|
||||||
// no-op for compatibility
|
// no-op for compatibility
|
||||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
default:
|
||||||
// disallow mutation of selector
|
// disallow mutation of selector
|
||||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newDaemonSet.Spec.Selector, oldDaemonSet.Spec.Selector, field.NewPath("spec").Child("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/api/pod:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation: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/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/api/extensions/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
|
@ -17,11 +17,7 @@ limitations under the License.
|
|||||||
package deployment
|
package deployment
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
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 {
|
if requestInfo, found := genericapirequest.RequestInfoFrom(ctx); found {
|
||||||
groupVersion := schema.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion}
|
groupVersion := schema.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion}
|
||||||
switch groupVersion {
|
switch groupVersion {
|
||||||
case appsv1beta1.SchemeGroupVersion:
|
case appsv1beta1.SchemeGroupVersion, extensionsv1beta1.SchemeGroupVersion:
|
||||||
// no-op for compatibility
|
// no-op for compatibility
|
||||||
case extensionsv1beta1.SchemeGroupVersion:
|
default:
|
||||||
// no-op for compatibility
|
|
||||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
|
||||||
// disallow mutation of selector
|
// disallow mutation of selector
|
||||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newDeployment.Spec.Selector, oldDeployment.Spec.Selector, field.NewPath("spec").Child("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/api/pod:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation: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/api/extensions/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
|
@ -22,8 +22,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
apivalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
@ -128,11 +126,9 @@ func (rsStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime
|
|||||||
switch groupVersion {
|
switch groupVersion {
|
||||||
case extensionsv1beta1.SchemeGroupVersion:
|
case extensionsv1beta1.SchemeGroupVersion:
|
||||||
// no-op for compatibility
|
// no-op for compatibility
|
||||||
case appsv1beta2.SchemeGroupVersion, appsv1.SchemeGroupVersion:
|
default:
|
||||||
// disallow mutation of selector
|
// disallow mutation of selector
|
||||||
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newReplicaSet.Spec.Selector, oldReplicaSet.Spec.Selector, field.NewPath("spec").Child("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