Merge pull request #126145 from carlory/kep-3751-api
[KEP-3751] Promote VolumeAttributesClass to beta
This commit is contained in:
@@ -19,10 +19,10 @@ package util
|
||||
import (
|
||||
"sort"
|
||||
|
||||
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
|
||||
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
storagev1alpha1listers "k8s.io/client-go/listers/storage/v1alpha1"
|
||||
storagev1beta1listers "k8s.io/client-go/listers/storage/v1beta1"
|
||||
"k8s.io/klog/v2"
|
||||
)
|
||||
|
||||
@@ -32,13 +32,13 @@ const (
|
||||
)
|
||||
|
||||
// GetDefaultVolumeAttributesClass returns the default VolumeAttributesClass from the store, or nil.
|
||||
func GetDefaultVolumeAttributesClass(lister storagev1alpha1listers.VolumeAttributesClassLister, driverName string) (*storagev1alpha1.VolumeAttributesClass, error) {
|
||||
func GetDefaultVolumeAttributesClass(lister storagev1beta1listers.VolumeAttributesClassLister, driverName string) (*storagev1beta1.VolumeAttributesClass, error) {
|
||||
list, err := lister.List(labels.Everything())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defaultClasses := []*storagev1alpha1.VolumeAttributesClass{}
|
||||
defaultClasses := []*storagev1beta1.VolumeAttributesClass{}
|
||||
for _, class := range list {
|
||||
if IsDefaultVolumeAttributesClassAnnotation(class.ObjectMeta) && class.DriverName == driverName {
|
||||
defaultClasses = append(defaultClasses, class)
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
|
||||
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/informers"
|
||||
"k8s.io/kubernetes/pkg/controller"
|
||||
@@ -33,7 +33,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
)
|
||||
|
||||
dirverName1 := "my-driver1"
|
||||
vac1 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac1 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac1",
|
||||
Annotations: map[string]string{
|
||||
@@ -42,7 +42,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
},
|
||||
DriverName: dirverName1,
|
||||
}
|
||||
vac2 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac2 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac2",
|
||||
Annotations: map[string]string{
|
||||
@@ -51,7 +51,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
},
|
||||
DriverName: dirverName1,
|
||||
}
|
||||
vac3 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac3 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac3",
|
||||
Annotations: map[string]string{
|
||||
@@ -61,7 +61,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
},
|
||||
DriverName: dirverName1,
|
||||
}
|
||||
vac4 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac4 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac4",
|
||||
Annotations: map[string]string{
|
||||
@@ -71,7 +71,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
},
|
||||
DriverName: dirverName1,
|
||||
}
|
||||
vac5 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac5 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac5",
|
||||
Annotations: map[string]string{
|
||||
@@ -83,7 +83,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
}
|
||||
|
||||
dirverName2 := "my-driver2"
|
||||
vac6 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac6 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac6",
|
||||
Annotations: map[string]string{
|
||||
@@ -92,7 +92,7 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
},
|
||||
DriverName: dirverName2,
|
||||
}
|
||||
vac7 := &storagev1alpha1.VolumeAttributesClass{
|
||||
vac7 := &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-vac7",
|
||||
Annotations: map[string]string{
|
||||
@@ -105,8 +105,8 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
driverName string
|
||||
classes []*storagev1alpha1.VolumeAttributesClass
|
||||
expect *storagev1alpha1.VolumeAttributesClass
|
||||
classes []*storagev1beta1.VolumeAttributesClass
|
||||
expect *storagev1beta1.VolumeAttributesClass
|
||||
}{
|
||||
{
|
||||
name: "no volume attributes class",
|
||||
@@ -115,31 +115,31 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
{
|
||||
name: "no default volume attributes class",
|
||||
driverName: dirverName1,
|
||||
classes: []*storagev1alpha1.VolumeAttributesClass{vac1, vac2, vac6},
|
||||
classes: []*storagev1beta1.VolumeAttributesClass{vac1, vac2, vac6},
|
||||
expect: nil,
|
||||
},
|
||||
{
|
||||
name: "no default volume attributes class for the driverName1",
|
||||
driverName: dirverName1,
|
||||
classes: []*storagev1alpha1.VolumeAttributesClass{vac1, vac2, vac6, vac7},
|
||||
classes: []*storagev1beta1.VolumeAttributesClass{vac1, vac2, vac6, vac7},
|
||||
expect: nil,
|
||||
},
|
||||
{
|
||||
name: "one default volume attributes class for the driverName1",
|
||||
driverName: dirverName1,
|
||||
classes: []*storagev1alpha1.VolumeAttributesClass{vac1, vac2, vac3, vac6, vac7},
|
||||
classes: []*storagev1beta1.VolumeAttributesClass{vac1, vac2, vac3, vac6, vac7},
|
||||
expect: vac3,
|
||||
},
|
||||
{
|
||||
name: "two default volume attributes class with different creation timestamp for the driverName1",
|
||||
driverName: dirverName1,
|
||||
classes: []*storagev1alpha1.VolumeAttributesClass{vac3, vac4, vac6, vac7},
|
||||
classes: []*storagev1beta1.VolumeAttributesClass{vac3, vac4, vac6, vac7},
|
||||
expect: vac4,
|
||||
},
|
||||
{
|
||||
name: "two default volume attributes class with same creation timestamp for the driverName1",
|
||||
driverName: dirverName1,
|
||||
classes: []*storagev1alpha1.VolumeAttributesClass{vac4, vac5, vac6, vac7},
|
||||
classes: []*storagev1beta1.VolumeAttributesClass{vac4, vac5, vac6, vac7},
|
||||
expect: vac4,
|
||||
},
|
||||
}
|
||||
@@ -148,13 +148,13 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
informerFactory := informers.NewSharedInformerFactory(nil, controller.NoResyncPeriodFunc())
|
||||
for _, c := range tc.classes {
|
||||
err := informerFactory.Storage().V1alpha1().VolumeAttributesClasses().Informer().GetStore().Add(c)
|
||||
err := informerFactory.Storage().V1beta1().VolumeAttributesClasses().Informer().GetStore().Add(c)
|
||||
if err != nil {
|
||||
t.Errorf("Expected no error, got %v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
lister := informerFactory.Storage().V1alpha1().VolumeAttributesClasses().Lister()
|
||||
lister := informerFactory.Storage().V1beta1().VolumeAttributesClasses().Lister()
|
||||
actual, err := GetDefaultVolumeAttributesClass(lister, tc.driverName)
|
||||
if err != nil {
|
||||
t.Errorf("Expected no error, got %v", err)
|
||||
@@ -170,17 +170,17 @@ func TestGetDefaultVolumeAttributesClass(t *testing.T) {
|
||||
func TestIsDefaultVolumeAttributesClassAnnotation(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
class *storagev1alpha1.VolumeAttributesClass
|
||||
class *storagev1beta1.VolumeAttributesClass
|
||||
expect bool
|
||||
}{
|
||||
{
|
||||
name: "no annotation",
|
||||
class: &storagev1alpha1.VolumeAttributesClass{},
|
||||
class: &storagev1beta1.VolumeAttributesClass{},
|
||||
expect: false,
|
||||
},
|
||||
{
|
||||
name: "annotation is not boolean",
|
||||
class: &storagev1alpha1.VolumeAttributesClass{
|
||||
class: &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Annotations: map[string]string{
|
||||
AlphaIsDefaultVolumeAttributesClassAnnotation: "not-boolean",
|
||||
@@ -191,7 +191,7 @@ func TestIsDefaultVolumeAttributesClassAnnotation(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "annotation is false",
|
||||
class: &storagev1alpha1.VolumeAttributesClass{
|
||||
class: &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Annotations: map[string]string{
|
||||
AlphaIsDefaultVolumeAttributesClassAnnotation: "false",
|
||||
@@ -202,7 +202,7 @@ func TestIsDefaultVolumeAttributesClassAnnotation(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "annotation is true",
|
||||
class: &storagev1alpha1.VolumeAttributesClass{
|
||||
class: &storagev1beta1.VolumeAttributesClass{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Annotations: map[string]string{
|
||||
AlphaIsDefaultVolumeAttributesClassAnnotation: "true",
|
||||
|
||||
Reference in New Issue
Block a user