mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
CSIStorageCapacity: use beta API
This commit is contained in:
parent
e565951063
commit
5ca0814165
@ -25,7 +25,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/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"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -35,11 +35,11 @@ import (
|
|||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
coreinformers "k8s.io/client-go/informers/core/v1"
|
coreinformers "k8s.io/client-go/informers/core/v1"
|
||||||
storageinformers "k8s.io/client-go/informers/storage/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"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
corelisters "k8s.io/client-go/listers/core/v1"
|
corelisters "k8s.io/client-go/listers/core/v1"
|
||||||
storagelisters "k8s.io/client-go/listers/storage/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"
|
storagehelpers "k8s.io/component-helpers/storage/volume"
|
||||||
csitrans "k8s.io/csi-translation-lib"
|
csitrans "k8s.io/csi-translation-lib"
|
||||||
csiplugins "k8s.io/csi-translation-lib/plugins"
|
csiplugins "k8s.io/csi-translation-lib/plugins"
|
||||||
@ -210,7 +210,7 @@ type volumeBinder struct {
|
|||||||
|
|
||||||
capacityCheckEnabled bool
|
capacityCheckEnabled bool
|
||||||
csiDriverLister storagelisters.CSIDriverLister
|
csiDriverLister storagelisters.CSIDriverLister
|
||||||
csiStorageCapacityLister storagelistersv1alpha1.CSIStorageCapacityLister
|
csiStorageCapacityLister storagelistersv1beta1.CSIStorageCapacityLister
|
||||||
}
|
}
|
||||||
|
|
||||||
// CapacityCheck contains additional parameters for NewVolumeBinder that
|
// CapacityCheck contains additional parameters for NewVolumeBinder that
|
||||||
@ -218,7 +218,7 @@ type volumeBinder struct {
|
|||||||
// capacity is desired.
|
// capacity is desired.
|
||||||
type CapacityCheck struct {
|
type CapacityCheck struct {
|
||||||
CSIDriverInformer storageinformers.CSIDriverInformer
|
CSIDriverInformer storageinformers.CSIDriverInformer
|
||||||
CSIStorageCapacityInformer storageinformersv1alpha1.CSIStorageCapacityInformer
|
CSIStorageCapacityInformer storageinformersv1beta1.CSIStorageCapacityInformer
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewVolumeBinder sets up all the caches needed for the scheduler to make volume binding decisions.
|
// 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
|
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 {
|
if capacity.NodeTopology == nil {
|
||||||
// Unavailable
|
// Unavailable
|
||||||
return false
|
return false
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/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"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
@ -37,7 +37,7 @@ import (
|
|||||||
"k8s.io/client-go/informers"
|
"k8s.io/client-go/informers"
|
||||||
coreinformers "k8s.io/client-go/informers/core/v1"
|
coreinformers "k8s.io/client-go/informers/core/v1"
|
||||||
storageinformers "k8s.io/client-go/informers/storage/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"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
k8stesting "k8s.io/client-go/testing"
|
k8stesting "k8s.io/client-go/testing"
|
||||||
@ -140,7 +140,7 @@ type testEnv struct {
|
|||||||
|
|
||||||
// For CSIStorageCapacity feature testing:
|
// For CSIStorageCapacity feature testing:
|
||||||
internalCSIDriverInformer storageinformers.CSIDriverInformer
|
internalCSIDriverInformer storageinformers.CSIDriverInformer
|
||||||
internalCSIStorageCapacityInformer storageinformersv1alpha1.CSIStorageCapacityInformer
|
internalCSIStorageCapacityInformer storageinformersv1beta1.CSIStorageCapacityInformer
|
||||||
}
|
}
|
||||||
|
|
||||||
func newTestBinder(t *testing.T, stopCh <-chan struct{}, csiStorageCapacity ...bool) *testEnv {
|
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()
|
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
|
||||||
classInformer := informerFactory.Storage().V1().StorageClasses()
|
classInformer := informerFactory.Storage().V1().StorageClasses()
|
||||||
csiDriverInformer := informerFactory.Storage().V1().CSIDrivers()
|
csiDriverInformer := informerFactory.Storage().V1().CSIDrivers()
|
||||||
csiStorageCapacityInformer := informerFactory.Storage().V1alpha1().CSIStorageCapacities()
|
csiStorageCapacityInformer := informerFactory.Storage().V1beta1().CSIStorageCapacities()
|
||||||
var capacityCheck *CapacityCheck
|
var capacityCheck *CapacityCheck
|
||||||
if len(csiStorageCapacity) > 0 && csiStorageCapacity[0] {
|
if len(csiStorageCapacity) > 0 && csiStorageCapacity[0] {
|
||||||
capacityCheck = &CapacityCheck{
|
capacityCheck = &CapacityCheck{
|
||||||
@ -302,7 +302,7 @@ func (env *testEnv) addCSIDriver(csiDriver *storagev1.CSIDriver) {
|
|||||||
csiDriverInformer.GetIndexer().Add(csiDriver)
|
csiDriverInformer.GetIndexer().Add(csiDriver)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *testEnv) addCSIStorageCapacities(capacities []*storagev1alpha1.CSIStorageCapacity) {
|
func (env *testEnv) addCSIStorageCapacities(capacities []*storagev1beta1.CSIStorageCapacity) {
|
||||||
csiStorageCapacityInformer := env.internalCSIStorageCapacityInformer.Informer()
|
csiStorageCapacityInformer := env.internalCSIStorageCapacityInformer.Informer()
|
||||||
for _, capacity := range capacities {
|
for _, capacity := range capacities {
|
||||||
csiStorageCapacityInformer.GetIndexer().Add(capacity)
|
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 {
|
func makeCapacity(name, storageClassName string, node *v1.Node, capacityStr string) *storagev1beta1.CSIStorageCapacity {
|
||||||
c := &storagev1alpha1.CSIStorageCapacity{
|
c := &storagev1beta1.CSIStorageCapacity{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: name,
|
Name: name,
|
||||||
},
|
},
|
||||||
@ -2202,7 +2202,7 @@ func TestCapacity(t *testing.T) {
|
|||||||
type scenarioType struct {
|
type scenarioType struct {
|
||||||
// Inputs
|
// Inputs
|
||||||
pvcs []*v1.PersistentVolumeClaim
|
pvcs []*v1.PersistentVolumeClaim
|
||||||
capacities []*storagev1alpha1.CSIStorageCapacity
|
capacities []*storagev1beta1.CSIStorageCapacity
|
||||||
|
|
||||||
// Expected return values
|
// Expected return values
|
||||||
reasons ConflictReasons
|
reasons ConflictReasons
|
||||||
@ -2211,19 +2211,19 @@ func TestCapacity(t *testing.T) {
|
|||||||
scenarios := map[string]scenarioType{
|
scenarios := map[string]scenarioType{
|
||||||
"network-attached": {
|
"network-attached": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"local-storage": {
|
"local-storage": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"multiple": {
|
"multiple": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, nil, "1Gi"),
|
||||||
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
|
||||||
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, node1, "1Gi"),
|
||||||
@ -2235,35 +2235,35 @@ func TestCapacity(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"wrong-node": {
|
"wrong-node": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
|
makeCapacity("net", waitClassWithProvisioner, node2, "1Gi"),
|
||||||
},
|
},
|
||||||
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
||||||
},
|
},
|
||||||
"wrong-storage-class": {
|
"wrong-storage-class": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClass, node1, "1Gi"),
|
makeCapacity("net", waitClass, node1, "1Gi"),
|
||||||
},
|
},
|
||||||
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
||||||
},
|
},
|
||||||
"insufficient-storage": {
|
"insufficient-storage": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, node1, "1Mi"),
|
makeCapacity("net", waitClassWithProvisioner, node1, "1Mi"),
|
||||||
},
|
},
|
||||||
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
||||||
},
|
},
|
||||||
"zero-storage": {
|
"zero-storage": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, node1, "0Mi"),
|
makeCapacity("net", waitClassWithProvisioner, node1, "0Mi"),
|
||||||
},
|
},
|
||||||
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
||||||
},
|
},
|
||||||
"nil-storage": {
|
"nil-storage": {
|
||||||
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
pvcs: []*v1.PersistentVolumeClaim{provisionedPVC},
|
||||||
capacities: []*storagev1alpha1.CSIStorageCapacity{
|
capacities: []*storagev1beta1.CSIStorageCapacity{
|
||||||
makeCapacity("net", waitClassWithProvisioner, node1, ""),
|
makeCapacity("net", waitClassWithProvisioner, node1, ""),
|
||||||
},
|
},
|
||||||
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
reasons: ConflictReasons{ErrReasonNotEnoughSpace},
|
||||||
|
@ -354,7 +354,7 @@ func New(plArgs runtime.Object, fh framework.Handle) (framework.Plugin, error) {
|
|||||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSIStorageCapacity) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.CSIStorageCapacity) {
|
||||||
capacityCheck = &scheduling.CapacityCheck{
|
capacityCheck = &scheduling.CapacityCheck{
|
||||||
CSIDriverInformer: fh.SharedInformerFactory().Storage().V1().CSIDrivers(),
|
CSIDriverInformer: fh.SharedInformerFactory().Storage().V1().CSIDrivers(),
|
||||||
CSIStorageCapacityInformer: fh.SharedInformerFactory().Storage().V1alpha1().CSIStorageCapacities(),
|
CSIStorageCapacityInformer: fh.SharedInformerFactory().Storage().V1beta1().CSIStorageCapacities(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
binder := scheduling.NewVolumeBinder(fh.ClientSet(), podInformer, nodeInformer, csiNodeInformer, pvcInformer, pvInformer, storageClassInformer, capacityCheck, time.Duration(args.BindTimeoutSeconds)*time.Second)
|
binder := scheduling.NewVolumeBinder(fh.ClientSet(), podInformer, nodeInformer, csiNodeInformer, pvcInformer, pvInformer, storageClassInformer, capacityCheck, time.Duration(args.BindTimeoutSeconds)*time.Second)
|
||||||
|
@ -31,7 +31,7 @@ import (
|
|||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/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"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@ -1188,7 +1188,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
// before adding CSIStorageCapacity objects for it.
|
// before adding CSIStorageCapacity objects for it.
|
||||||
for _, capacityStr := range test.capacities {
|
for _, capacityStr := range test.capacities {
|
||||||
capacityQuantity := resource.MustParse(capacityStr)
|
capacityQuantity := resource.MustParse(capacityStr)
|
||||||
capacity := &storagev1alpha1.CSIStorageCapacity{
|
capacity := &storagev1beta1.CSIStorageCapacity{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
GenerateName: "fake-capacity-",
|
GenerateName: "fake-capacity-",
|
||||||
},
|
},
|
||||||
@ -1197,10 +1197,10 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
NodeTopology: &metav1.LabelSelector{},
|
NodeTopology: &metav1.LabelSelector{},
|
||||||
Capacity: &capacityQuantity,
|
Capacity: &capacityQuantity,
|
||||||
}
|
}
|
||||||
createdCapacity, err := f.ClientSet.StorageV1alpha1().CSIStorageCapacities(f.Namespace.Name).Create(context.Background(), capacity, metav1.CreateOptions{})
|
createdCapacity, err := f.ClientSet.StorageV1beta1().CSIStorageCapacities(f.Namespace.Name).Create(context.Background(), capacity, metav1.CreateOptions{})
|
||||||
framework.ExpectNoError(err, "create CSIStorageCapacity %+v", *capacity)
|
framework.ExpectNoError(err, "create CSIStorageCapacity %+v", *capacity)
|
||||||
m.testCleanups = append(m.testCleanups, func() {
|
m.testCleanups = append(m.testCleanups, func() {
|
||||||
f.ClientSet.StorageV1alpha1().CSIStorageCapacities(f.Namespace.Name).Delete(context.Background(), createdCapacity.Name, metav1.DeleteOptions{})
|
f.ClientSet.StorageV1beta1().CSIStorageCapacities(f.Namespace.Name).Delete(context.Background(), createdCapacity.Name, metav1.DeleteOptions{})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,6 +157,7 @@ func TestServerSidePrint(t *testing.T) {
|
|||||||
{Group: "rbac.authorization.k8s.io", Version: "v1alpha1"},
|
{Group: "rbac.authorization.k8s.io", Version: "v1alpha1"},
|
||||||
{Group: "scheduling.k8s.io", Version: "v1"},
|
{Group: "scheduling.k8s.io", Version: "v1"},
|
||||||
{Group: "storage.k8s.io", Version: "v1alpha1"},
|
{Group: "storage.k8s.io", Version: "v1alpha1"},
|
||||||
|
{Group: "storage.k8s.io", Version: "v1beta1"},
|
||||||
{Group: "extensions", Version: "v1beta1"},
|
{Group: "extensions", Version: "v1beta1"},
|
||||||
{Group: "node.k8s.io", Version: "v1"},
|
{Group: "node.k8s.io", Version: "v1"},
|
||||||
{Group: "node.k8s.io", Version: "v1alpha1"},
|
{Group: "node.k8s.io", Version: "v1alpha1"},
|
||||||
|
@ -31,7 +31,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/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"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/rand"
|
"k8s.io/apimachinery/pkg/util/rand"
|
||||||
@ -941,8 +941,8 @@ func TestCapacity(t *testing.T) {
|
|||||||
|
|
||||||
// Create CSIStorageCapacity
|
// Create CSIStorageCapacity
|
||||||
if test.haveCapacity {
|
if test.haveCapacity {
|
||||||
if _, err := config.client.StorageV1alpha1().CSIStorageCapacities("default").Create(context.TODO(),
|
if _, err := config.client.StorageV1beta1().CSIStorageCapacities("default").Create(context.TODO(),
|
||||||
&storagev1alpha1.CSIStorageCapacity{
|
&storagev1beta1.CSIStorageCapacity{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
GenerateName: "foo-",
|
GenerateName: "foo-",
|
||||||
},
|
},
|
||||||
@ -1155,7 +1155,7 @@ func deleteTestObjects(client clientset.Interface, ns string, option metav1.Dele
|
|||||||
client.CoreV1().PersistentVolumes().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
client.CoreV1().PersistentVolumes().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
||||||
client.StorageV1().StorageClasses().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
client.StorageV1().StorageClasses().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
||||||
client.StorageV1().CSIDrivers().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
client.StorageV1().CSIDrivers().DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
||||||
client.StorageV1alpha1().CSIStorageCapacities("default").DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
client.StorageV1beta1().CSIStorageCapacities("default").DeleteCollection(context.TODO(), option, metav1.ListOptions{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeStorageClass(name string, mode *storagev1.VolumeBindingMode) *storagev1.StorageClass {
|
func makeStorageClass(name string, mode *storagev1.VolumeBindingMode) *storagev1.StorageClass {
|
||||||
|
Loading…
Reference in New Issue
Block a user