CSIStorageCapacity: use beta API

This commit is contained in:
Patrick Ohly
2021-03-03 12:43:34 +01:00
parent e565951063
commit 5ca0814165
6 changed files with 32 additions and 31 deletions

View File

@@ -25,7 +25,7 @@ import (
v1 "k8s.io/api/core/v1"
storagev1 "k8s.io/api/storage/v1"
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
@@ -35,11 +35,11 @@ import (
utilfeature "k8s.io/apiserver/pkg/util/feature"
coreinformers "k8s.io/client-go/informers/core/v1"
storageinformers "k8s.io/client-go/informers/storage/v1"
storageinformersv1alpha1 "k8s.io/client-go/informers/storage/v1alpha1"
storageinformersv1beta1 "k8s.io/client-go/informers/storage/v1beta1"
clientset "k8s.io/client-go/kubernetes"
corelisters "k8s.io/client-go/listers/core/v1"
storagelisters "k8s.io/client-go/listers/storage/v1"
storagelistersv1alpha1 "k8s.io/client-go/listers/storage/v1alpha1"
storagelistersv1beta1 "k8s.io/client-go/listers/storage/v1beta1"
storagehelpers "k8s.io/component-helpers/storage/volume"
csitrans "k8s.io/csi-translation-lib"
csiplugins "k8s.io/csi-translation-lib/plugins"
@@ -210,7 +210,7 @@ type volumeBinder struct {
capacityCheckEnabled bool
csiDriverLister storagelisters.CSIDriverLister
csiStorageCapacityLister storagelistersv1alpha1.CSIStorageCapacityLister
csiStorageCapacityLister storagelistersv1beta1.CSIStorageCapacityLister
}
// CapacityCheck contains additional parameters for NewVolumeBinder that
@@ -218,7 +218,7 @@ type volumeBinder struct {
// capacity is desired.
type CapacityCheck struct {
CSIDriverInformer storageinformers.CSIDriverInformer
CSIStorageCapacityInformer storageinformersv1alpha1.CSIStorageCapacityInformer
CSIStorageCapacityInformer storageinformersv1beta1.CSIStorageCapacityInformer
}
// NewVolumeBinder sets up all the caches needed for the scheduler to make volume binding decisions.
@@ -989,7 +989,7 @@ func (b *volumeBinder) hasEnoughCapacity(provisioner string, claim *v1.Persisten
return false, nil
}
func (b *volumeBinder) nodeHasAccess(node *v1.Node, capacity *storagev1alpha1.CSIStorageCapacity) bool {
func (b *volumeBinder) nodeHasAccess(node *v1.Node, capacity *storagev1beta1.CSIStorageCapacity) bool {
if capacity.NodeTopology == nil {
// Unavailable
return false

View File

@@ -26,7 +26,7 @@ import (
v1 "k8s.io/api/core/v1"
storagev1 "k8s.io/api/storage/v1"
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
@@ -37,7 +37,7 @@ import (
"k8s.io/client-go/informers"
coreinformers "k8s.io/client-go/informers/core/v1"
storageinformers "k8s.io/client-go/informers/storage/v1"
storageinformersv1alpha1 "k8s.io/client-go/informers/storage/v1alpha1"
storageinformersv1beta1 "k8s.io/client-go/informers/storage/v1beta1"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/fake"
k8stesting "k8s.io/client-go/testing"
@@ -140,7 +140,7 @@ type testEnv struct {
// For CSIStorageCapacity feature testing:
internalCSIDriverInformer storageinformers.CSIDriverInformer
internalCSIStorageCapacityInformer storageinformersv1alpha1.CSIStorageCapacityInformer
internalCSIStorageCapacityInformer storageinformersv1beta1.CSIStorageCapacityInformer
}
func newTestBinder(t *testing.T, stopCh <-chan struct{}, csiStorageCapacity ...bool) *testEnv {
@@ -164,7 +164,7 @@ func newTestBinder(t *testing.T, stopCh <-chan struct{}, csiStorageCapacity ...b
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
classInformer := informerFactory.Storage().V1().StorageClasses()
csiDriverInformer := informerFactory.Storage().V1().CSIDrivers()
csiStorageCapacityInformer := informerFactory.Storage().V1alpha1().CSIStorageCapacities()
csiStorageCapacityInformer := informerFactory.Storage().V1beta1().CSIStorageCapacities()
var capacityCheck *CapacityCheck
if len(csiStorageCapacity) > 0 && csiStorageCapacity[0] {
capacityCheck = &CapacityCheck{
@@ -302,7 +302,7 @@ func (env *testEnv) addCSIDriver(csiDriver *storagev1.CSIDriver) {
csiDriverInformer.GetIndexer().Add(csiDriver)
}
func (env *testEnv) addCSIStorageCapacities(capacities []*storagev1alpha1.CSIStorageCapacity) {
func (env *testEnv) addCSIStorageCapacities(capacities []*storagev1beta1.CSIStorageCapacity) {
csiStorageCapacityInformer := env.internalCSIStorageCapacityInformer.Informer()
for _, capacity := range capacities {
csiStorageCapacityInformer.GetIndexer().Add(capacity)
@@ -743,8 +743,8 @@ func makeCSIDriver(name string, storageCapacity bool) *storagev1.CSIDriver {
}
}
func makeCapacity(name, storageClassName string, node *v1.Node, capacityStr string) *storagev1alpha1.CSIStorageCapacity {
c := &storagev1alpha1.CSIStorageCapacity{
func makeCapacity(name, storageClassName string, node *v1.Node, capacityStr string) *storagev1beta1.CSIStorageCapacity {
c := &storagev1beta1.CSIStorageCapacity{
ObjectMeta: metav1.ObjectMeta{
Name: name,
},
@@ -2202,7 +2202,7 @@ func TestCapacity(t *testing.T) {
type scenarioType struct {
// Inputs
pvcs []*v1.PersistentVolumeClaim
capacities []*storagev1alpha1.CSIStorageCapacity
capacities []*storagev1beta1.CSIStorageCapacity
// Expected return values
reasons ConflictReasons
@@ -2211,19 +2211,19 @@ func TestCapacity(t *testing.T) {
scenarios := map[string]scenarioType{
"network-attached": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
},
},
"local-storage": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
},
},
"multiple": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
@@ -2235,35 +2235,35 @@ func TestCapacity(t *testing.T) {
},
"wrong-node": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
},
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
},
"wrong-storage-class": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClass, node1, "1Gi"),
},
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
},
"insufficient-storage": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, node1, "1Mi"),
},
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
},
"zero-storage": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, node1, "0Mi"),
},
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
},
"nil-storage": {
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
capacities: []*storagev1alpha1.CSIStorageCapacity{
capacities: []*storagev1beta1.CSIStorageCapacity{
makeCapacity("net", waitClassWithProvisioner, node1, ""),
},
reasons: ConflictReasons{ErrReasonNotEnoughSpace},