Skip to content

Commit 175f67f

Browse files
committed
Promote VolumeAttributesClass to GA
1 parent d6833d0 commit 175f67f

File tree

6 files changed

+17
-16
lines changed

6 files changed

+17
-16
lines changed

pkg/features/features.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const (
3737
// kep: https://kep.k8s.io/3751
3838
// alpha: v1.29
3939
// beta: v1.31
40+
// GA: v1.34
4041
//
4142
// Pass VolumeAttributesClass parameters to supporting CSI drivers during ModifyVolume
4243
VolumeAttributesClass featuregate.Feature = "VolumeAttributesClass"
@@ -55,6 +56,6 @@ func init() {
5556
var defaultResizerFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
5657
AnnotateFsResize: {Default: false, PreRelease: featuregate.Alpha},
5758
RecoverVolumeExpansionFailure: {Default: true, PreRelease: featuregate.Beta},
58-
VolumeAttributesClass: {Default: false, PreRelease: featuregate.Beta},
59+
VolumeAttributesClass: {Default: true, PreRelease: featuregate.GA},
5960
ReleaseLeaderElectionOnExit: {Default: false, PreRelease: featuregate.Alpha},
6061
}

pkg/modifycontroller/controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
"k8s.io/client-go/kubernetes/scheme"
3737
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
3838
corelisters "k8s.io/client-go/listers/core/v1"
39-
storagev1beta1listers "k8s.io/client-go/listers/storage/v1beta1"
39+
storagev1listers "k8s.io/client-go/listers/storage/v1"
4040
"k8s.io/client-go/tools/cache"
4141
"k8s.io/client-go/tools/record"
4242
"k8s.io/client-go/util/workqueue"
@@ -60,7 +60,7 @@ type modifyController struct {
6060
pvListerSynced cache.InformerSynced
6161
pvcLister corelisters.PersistentVolumeClaimLister
6262
pvcListerSynced cache.InformerSynced
63-
vacLister storagev1beta1listers.VolumeAttributesClassLister
63+
vacLister storagev1listers.VolumeAttributesClassLister
6464
vacListerSynced cache.InformerSynced
6565
extraModifyMetadata bool
6666
// the key of the map is {PVC_NAMESPACE}/{PVC_NAME}
@@ -81,7 +81,7 @@ func NewModifyController(
8181
pvcRateLimiter workqueue.TypedRateLimiter[string]) ModifyController {
8282
pvInformer := informerFactory.Core().V1().PersistentVolumes()
8383
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
84-
vacInformer := informerFactory.Storage().V1beta1().VolumeAttributesClasses()
84+
vacInformer := informerFactory.Storage().V1().VolumeAttributesClasses()
8585
eventBroadcaster := record.NewBroadcaster()
8686
eventBroadcaster.StartStructuredLogging(0)
8787
eventBroadcaster.StartRecordingToSink(&corev1.EventSinkImpl{Interface: kubeClient.CoreV1().Events(v1.NamespaceAll)})

pkg/modifycontroller/controller_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"google.golang.org/grpc/codes"
1515
"google.golang.org/grpc/status"
1616
v1 "k8s.io/api/core/v1"
17-
storagev1beta1 "k8s.io/api/storage/v1beta1"
17+
storagev1 "k8s.io/api/storage/v1"
1818
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1919
"k8s.io/apimachinery/pkg/runtime"
2020
utilfeature "k8s.io/apiserver/pkg/util/feature"
@@ -331,7 +331,7 @@ func setupFakeK8sEnvironment(t *testing.T, client *csi.MockClient, initialObject
331331
kubeClient, informerFactory := fakeK8s(initialObjects)
332332
pvInformer := informerFactory.Core().V1().PersistentVolumes()
333333
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
334-
vacInformer := informerFactory.Storage().V1beta1().VolumeAttributesClasses()
334+
vacInformer := informerFactory.Storage().V1().VolumeAttributesClasses()
335335

336336
driverName, _ := client.GetDriverName(context.TODO())
337337

@@ -358,7 +358,7 @@ func setupFakeK8sEnvironment(t *testing.T, client *csi.MockClient, initialObject
358358
pvInformer.Informer().GetStore().Add(obj)
359359
case *v1.PersistentVolumeClaim:
360360
pvcInformer.Informer().GetStore().Add(obj)
361-
case *storagev1beta1.VolumeAttributesClass:
361+
case *storagev1.VolumeAttributesClass:
362362
vacInformer.Informer().GetStore().Add(obj)
363363
default:
364364
t.Fatalf("Test %s: Unknown initalObject type: %+v", t.Name(), obj)

pkg/modifycontroller/modify_status_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"google.golang.org/grpc/codes"
1515
"google.golang.org/grpc/status"
1616
v1 "k8s.io/api/core/v1"
17-
storagev1beta1 "k8s.io/api/storage/v1beta1"
17+
storagev1 "k8s.io/api/storage/v1"
1818
"k8s.io/apimachinery/pkg/api/resource"
1919
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2020
"k8s.io/apimachinery/pkg/runtime"
@@ -306,7 +306,7 @@ func TestRemovePVCFromModifyVolumeUncertainCache(t *testing.T) {
306306
pvInformer := informerFactory.Core().V1().PersistentVolumes()
307307
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
308308
podInformer := informerFactory.Core().V1().Pods()
309-
vacInformer := informerFactory.Storage().V1beta1().VolumeAttributesClasses()
309+
vacInformer := informerFactory.Storage().V1().VolumeAttributesClasses()
310310

311311
csiModifier, err := modifier.NewModifierFromClient(client, 15*time.Second, kubeClient, informerFactory, false, driverName)
312312
if err != nil {
@@ -335,7 +335,7 @@ func TestRemovePVCFromModifyVolumeUncertainCache(t *testing.T) {
335335
pvcInformer.Informer().GetStore().Add(obj)
336336
case *v1.Pod:
337337
podInformer.Informer().GetStore().Add(obj)
338-
case *storagev1beta1.VolumeAttributesClass:
338+
case *storagev1.VolumeAttributesClass:
339339
vacInformer.Informer().GetStore().Add(obj)
340340
default:
341341
t.Fatalf("Test %s: Unknown initalObject type: %+v", test.name, obj)

pkg/modifycontroller/modify_volume.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
"google.golang.org/grpc/codes"
2626
"google.golang.org/grpc/status"
2727
v1 "k8s.io/api/core/v1"
28-
storagev1beta1 "k8s.io/api/storage/v1beta1"
28+
storagev1 "k8s.io/api/storage/v1"
2929
apierrors "k8s.io/apimachinery/pkg/api/errors"
3030
"k8s.io/client-go/tools/cache"
3131
"k8s.io/klog/v2"
@@ -112,7 +112,7 @@ func (ctrl *modifyController) validateVACAndModifyVolumeWithTarget(
112112
func (ctrl *modifyController) controllerModifyVolumeWithTarget(
113113
pvc *v1.PersistentVolumeClaim,
114114
pv *v1.PersistentVolume,
115-
vacObj *storagev1beta1.VolumeAttributesClass,
115+
vacObj *storagev1.VolumeAttributesClass,
116116
pvcSpecVacName *string) (*v1.PersistentVolumeClaim, *v1.PersistentVolume, error, bool) {
117117
var err error
118118
pvc, pv, err = ctrl.callModifyVolumeOnPlugin(pvc, pv, vacObj)
@@ -160,7 +160,7 @@ func (ctrl *modifyController) controllerModifyVolumeWithTarget(
160160
func (ctrl *modifyController) callModifyVolumeOnPlugin(
161161
pvc *v1.PersistentVolumeClaim,
162162
pv *v1.PersistentVolume,
163-
vac *storagev1beta1.VolumeAttributesClass) (*v1.PersistentVolumeClaim, *v1.PersistentVolume, error) {
163+
vac *storagev1.VolumeAttributesClass) (*v1.PersistentVolumeClaim, *v1.PersistentVolume, error) {
164164
if ctrl.extraModifyMetadata {
165165
vac.Parameters[pvcNameKey] = pvc.GetName()
166166
vac.Parameters[pvcNamespaceKey] = pvc.GetNamespace()

pkg/modifycontroller/modify_volume_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/google/go-cmp/cmp"
77
"github.com/kubernetes-csi/external-resizer/pkg/csi"
88
v1 "k8s.io/api/core/v1"
9-
storagev1beta1 "k8s.io/api/storage/v1beta1"
9+
storagev1 "k8s.io/api/storage/v1"
1010
"k8s.io/apimachinery/pkg/api/resource"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212
"k8s.io/apimachinery/pkg/runtime"
@@ -16,13 +16,13 @@ import (
1616
)
1717

1818
var (
19-
testVacObject = &storagev1beta1.VolumeAttributesClass{
19+
testVacObject = &storagev1.VolumeAttributesClass{
2020
ObjectMeta: metav1.ObjectMeta{Name: testVac},
2121
DriverName: testDriverName,
2222
Parameters: map[string]string{"iops": "3000"},
2323
}
2424

25-
targetVacObject = &storagev1beta1.VolumeAttributesClass{
25+
targetVacObject = &storagev1.VolumeAttributesClass{
2626
ObjectMeta: metav1.ObjectMeta{Name: targetVac},
2727
DriverName: testDriverName,
2828
Parameters: map[string]string{

0 commit comments

Comments
 (0)