Skip to content

Commit 726af6b

Browse files
committed
Moved CSIDriver to GA
1 parent 0669581 commit 726af6b

29 files changed

+1827
-102
lines changed

api/api-rules/violation_exceptions.list

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec
341341
API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,EnvFrom
342342
API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,VolumeMounts
343343
API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,Volumes
344+
API rule violation: list_type_missing,k8s.io/api/storage/v1,CSIDriverList,Items
344345
API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeDriver,TopologyKeys
345346
API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeList,Items
346347
API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeSpec,Drivers

pkg/apis/storage/v1/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ go_library(
2020
"//pkg/apis/core:go_default_library",
2121
"//pkg/apis/core/v1:go_default_library",
2222
"//pkg/apis/storage:go_default_library",
23+
"//pkg/features:go_default_library",
2324
"//staging/src/k8s.io/api/core/v1:go_default_library",
2425
"//staging/src/k8s.io/api/storage/v1:go_default_library",
2526
"//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library",
2627
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
2728
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
29+
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
2830
],
2931
)
3032

pkg/apis/storage/v1/defaults.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ limitations under the License.
1717
package v1
1818

1919
import (
20-
"k8s.io/api/core/v1"
20+
v1 "k8s.io/api/core/v1"
2121
storagev1 "k8s.io/api/storage/v1"
2222
"k8s.io/apimachinery/pkg/runtime"
23+
utilfeature "k8s.io/apiserver/pkg/util/feature"
24+
"k8s.io/kubernetes/pkg/features"
2325
)
2426

2527
func addDefaultingFuncs(scheme *runtime.Scheme) error {
@@ -37,3 +39,17 @@ func SetDefaults_StorageClass(obj *storagev1.StorageClass) {
3739
*obj.VolumeBindingMode = storagev1.VolumeBindingImmediate
3840
}
3941
}
42+
43+
func SetDefaults_CSIDriver(obj *storagev1.CSIDriver) {
44+
if obj.Spec.AttachRequired == nil {
45+
obj.Spec.AttachRequired = new(bool)
46+
*(obj.Spec.AttachRequired) = true
47+
}
48+
if obj.Spec.PodInfoOnMount == nil {
49+
obj.Spec.PodInfoOnMount = new(bool)
50+
*(obj.Spec.PodInfoOnMount) = false
51+
}
52+
if len(obj.Spec.VolumeLifecycleModes) == 0 && utilfeature.DefaultFeatureGate.Enabled(features.CSIInlineVolume) {
53+
obj.Spec.VolumeLifecycleModes = append(obj.Spec.VolumeLifecycleModes, storagev1.VolumeLifecyclePersistent)
54+
}
55+
}

pkg/apis/storage/v1/zz_generated.conversion.go

Lines changed: 102 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/apis/storage/v1/zz_generated.defaults.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/features/kube_features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
608608
TopologyManager: {Default: true, PreRelease: featuregate.Beta},
609609
ServiceNodeExclusion: {Default: false, PreRelease: featuregate.Alpha},
610610
NodeDisruptionExclusion: {Default: false, PreRelease: featuregate.Alpha},
611-
CSIDriverRegistry: {Default: true, PreRelease: featuregate.Beta},
611+
CSIDriverRegistry: {Default: true, PreRelease: featuregate.GA},
612612
CSINodeInfo: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.19
613613
BlockVolume: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.20
614614
StorageObjectInUseProtection: {Default: true, PreRelease: featuregate.GA},

0 commit comments

Comments
 (0)