diff --git a/hack/make-rules/test-cmd.sh b/hack/make-rules/test-cmd.sh index ff058b891f..5a7db32109 100755 --- a/hack/make-rules/test-cmd.sh +++ b/hack/make-rules/test-cmd.sh @@ -35,7 +35,7 @@ function run_kube_apiserver() { # Admission Controllers to invoke prior to persisting objects in cluster ENABLE_ADMISSION_PLUGINS="LimitRanger,ResourceQuota" - DISABLE_ADMISSION_PLUGINS="ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook" + DISABLE_ADMISSION_PLUGINS="ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,StorageObjectInUseProtection" # Include RBAC (to exercise bootstrapping), and AlwaysAllow to allow all actions AUTHORIZATION_MODE="RBAC,AlwaysAllow" diff --git a/hack/test-update-storage-objects.sh b/hack/test-update-storage-objects.sh index f2e53edc61..a7304902fc 100755 --- a/hack/test-update-storage-objects.sh +++ b/hack/test-update-storage-objects.sh @@ -45,7 +45,7 @@ RUNTIME_CONFIG="" ETCDCTL=$(which etcdctl) KUBECTL="${KUBE_OUTPUT_HOSTBIN}/kubectl" UPDATE_ETCD_OBJECTS_SCRIPT="${KUBE_ROOT}/cluster/update-storage-objects.sh" -DISABLE_ADMISSION_PLUGINS="ServiceAccount,NamespaceLifecycle,LimitRanger,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PersistentVolumeLabel,DefaultStorageClass" +DISABLE_ADMISSION_PLUGINS="ServiceAccount,NamespaceLifecycle,LimitRanger,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PersistentVolumeLabel,DefaultStorageClass,StorageObjectInUseProtection" function startApiServer() { local storage_versions=${1:-""} diff --git a/pkg/kubeapiserver/options/plugins.go b/pkg/kubeapiserver/options/plugins.go index d62ea7f337..dc8f9daee0 100644 --- a/pkg/kubeapiserver/options/plugins.go +++ b/pkg/kubeapiserver/options/plugins.go @@ -128,15 +128,16 @@ func RegisterAllAdmissionPlugins(plugins *admission.Plugins) { // DefaultOffAdmissionPlugins get admission plugins off by default for kube-apiserver. func DefaultOffAdmissionPlugins() sets.String { defaultOnPlugins := sets.NewString( - lifecycle.PluginName, //NamespaceLifecycle - limitranger.PluginName, //LimitRanger - serviceaccount.PluginName, //ServiceAccount - setdefault.PluginName, //DefaultStorageClass - resize.PluginName, //PersistentVolumeClaimResize - defaulttolerationseconds.PluginName, //DefaultTolerationSeconds - mutatingwebhook.PluginName, //MutatingAdmissionWebhook - validatingwebhook.PluginName, //ValidatingAdmissionWebhook - resourcequota.PluginName, //ResourceQuota + lifecycle.PluginName, //NamespaceLifecycle + limitranger.PluginName, //LimitRanger + serviceaccount.PluginName, //ServiceAccount + setdefault.PluginName, //DefaultStorageClass + resize.PluginName, //PersistentVolumeClaimResize + defaulttolerationseconds.PluginName, //DefaultTolerationSeconds + mutatingwebhook.PluginName, //MutatingAdmissionWebhook + validatingwebhook.PluginName, //ValidatingAdmissionWebhook + resourcequota.PluginName, //ResourceQuota + storageobjectinuseprotection.PluginName, //StorageObjectInUseProtection ) if utilfeature.DefaultFeatureGate.Enabled(features.PodPriority) {