mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #51893 from jsafrane/clear-alpha-mount-propagation
Automatic merge from submit-queue (batch tested with PRs 51180, 51893) Clear alpha MountPropagation fields. This is leftover from #50924, mount propagation introduced a new field that needs to be cleared. **Which issue this PR fixes** fixes #51738 **Release note**: ```release-note NONE ``` @k8s-mirror-api-machinery-pr-reviews /assign @liggitt
This commit is contained in:
commit
58fe20f0e6
@ -243,4 +243,20 @@ func DropDisabledAlphaFields(podSpec *api.PodSpec) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for i := range podSpec.Containers {
|
||||||
|
DropDisabledVolumeMountsAlphaFields(podSpec.Containers[i].VolumeMounts)
|
||||||
|
}
|
||||||
|
for i := range podSpec.InitContainers {
|
||||||
|
DropDisabledVolumeMountsAlphaFields(podSpec.InitContainers[i].VolumeMounts)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DropDisabledVolumeMountsAlphaFields removes disabled fields from []VolumeMount.
|
||||||
|
// This should be called from PrepareForCreate/PrepareForUpdate for all resources containing a VolumeMount
|
||||||
|
func DropDisabledVolumeMountsAlphaFields(volumeMounts []api.VolumeMount) {
|
||||||
|
if !utilfeature.DefaultFeatureGate.Enabled(features.MountPropagation) {
|
||||||
|
for i := range volumeMounts {
|
||||||
|
volumeMounts[i].MountPropagation = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ go_library(
|
|||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
"//pkg/api:go_default_library",
|
||||||
|
"//pkg/api/pod:go_default_library",
|
||||||
"//pkg/apis/settings:go_default_library",
|
"//pkg/apis/settings:go_default_library",
|
||||||
"//pkg/apis/settings/validation:go_default_library",
|
"//pkg/apis/settings/validation:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library",
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/storage/names"
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/pod"
|
||||||
"k8s.io/kubernetes/pkg/apis/settings"
|
"k8s.io/kubernetes/pkg/apis/settings"
|
||||||
"k8s.io/kubernetes/pkg/apis/settings/validation"
|
"k8s.io/kubernetes/pkg/apis/settings/validation"
|
||||||
)
|
)
|
||||||
@ -44,6 +45,8 @@ func (podPresetStrategy) NamespaceScoped() bool {
|
|||||||
func (podPresetStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) {
|
func (podPresetStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) {
|
||||||
pip := obj.(*settings.PodPreset)
|
pip := obj.(*settings.PodPreset)
|
||||||
pip.Generation = 1
|
pip.Generation = 1
|
||||||
|
|
||||||
|
pod.DropDisabledVolumeMountsAlphaFields(pip.Spec.VolumeMounts)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PrepareForUpdate clears fields that are not allowed to be set by end users on update.
|
// PrepareForUpdate clears fields that are not allowed to be set by end users on update.
|
||||||
@ -51,6 +54,9 @@ func (podPresetStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, ol
|
|||||||
newPodPreset := obj.(*settings.PodPreset)
|
newPodPreset := obj.(*settings.PodPreset)
|
||||||
oldPodPreset := old.(*settings.PodPreset)
|
oldPodPreset := old.(*settings.PodPreset)
|
||||||
|
|
||||||
|
pod.DropDisabledVolumeMountsAlphaFields(oldPodPreset.Spec.VolumeMounts)
|
||||||
|
pod.DropDisabledVolumeMountsAlphaFields(newPodPreset.Spec.VolumeMounts)
|
||||||
|
|
||||||
// Update is not allowed
|
// Update is not allowed
|
||||||
newPodPreset.Spec = oldPodPreset.Spec
|
newPodPreset.Spec = oldPodPreset.Spec
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user