From b68ff57e6039b7d1ef7d3fa1226846d07b353510 Mon Sep 17 00:00:00 2001 From: f10atin9 Date: Wed, 1 Sep 2021 17:56:29 +0800 Subject: [PATCH] update csiDriver apiVersion Signed-off-by: f10atin9 --- cmd/controller-manager/app/controllers.go | 2 +- ...kubesphere.io_provisionercapabilities.yaml | 120 ------------------ ...ubesphere.io_storageclasscapabilities.yaml | 120 ------------------ .../capability/capability_controller.go | 6 +- .../capability/capability_controller_test.go | 15 +-- 5 files changed, 10 insertions(+), 253 deletions(-) delete mode 100644 config/crds/storage.kubesphere.io_provisionercapabilities.yaml delete mode 100644 config/crds/storage.kubesphere.io_storageclasscapabilities.yaml diff --git a/cmd/controller-manager/app/controllers.go b/cmd/controller-manager/app/controllers.go index 4e99b3229..1eeb378d9 100644 --- a/cmd/controller-manager/app/controllers.go +++ b/cmd/controller-manager/app/controllers.go @@ -100,7 +100,7 @@ func addControllers( storageCapabilityController := capability.NewController( client.Kubernetes().StorageV1().StorageClasses(), kubernetesInformer.Storage().V1().StorageClasses(), - kubernetesInformer.Storage().V1beta1().CSIDrivers(), + kubernetesInformer.Storage().V1().CSIDrivers(), ) volumeSnapshotController := snapshotclass.NewController( diff --git a/config/crds/storage.kubesphere.io_provisionercapabilities.yaml b/config/crds/storage.kubesphere.io_provisionercapabilities.yaml deleted file mode 100644 index 83aabb924..000000000 --- a/config/crds/storage.kubesphere.io_provisionercapabilities.yaml +++ /dev/null @@ -1,120 +0,0 @@ - ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: (devel) - creationTimestamp: null - name: provisionercapabilities.storage.kubesphere.io -spec: - group: storage.kubesphere.io - names: - kind: ProvisionerCapability - listKind: ProvisionerCapabilityList - plural: provisionercapabilities - singular: provisionercapability - scope: Cluster - versions: - - additionalPrinterColumns: - - jsonPath: .spec.pluginInfo.name - name: Provisioner - type: string - - jsonPath: .spec.features.volume.expandMode - name: Expand - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: ProvisionerCapability is the schema for the provisionercapability - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ProvisionerCapabilitySpec defines the desired state of ProvisionerCapability - properties: - features: - description: CapabilityFeatures describe storage features - properties: - snapshot: - description: SnapshotFeature describe snapshot features - properties: - create: - type: boolean - list: - type: boolean - required: - - create - - list - type: object - topology: - type: boolean - volume: - description: VolumeFeature describe volume features - properties: - attach: - type: boolean - clone: - type: boolean - create: - type: boolean - expandMode: - type: string - list: - type: boolean - stats: - type: boolean - required: - - attach - - clone - - create - - expandMode - - list - - stats - type: object - required: - - snapshot - - topology - - volume - type: object - pluginInfo: - description: PluginInfo describes plugin info - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - required: - - features - - pluginInfo - type: object - required: - - spec - type: object - served: true - storage: true - subresources: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crds/storage.kubesphere.io_storageclasscapabilities.yaml b/config/crds/storage.kubesphere.io_storageclasscapabilities.yaml deleted file mode 100644 index 907b5c43a..000000000 --- a/config/crds/storage.kubesphere.io_storageclasscapabilities.yaml +++ /dev/null @@ -1,120 +0,0 @@ - ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: (devel) - creationTimestamp: null - name: storageclasscapabilities.storage.kubesphere.io -spec: - group: storage.kubesphere.io - names: - kind: StorageClassCapability - listKind: StorageClassCapabilityList - plural: storageclasscapabilities - singular: storageclasscapability - scope: Cluster - versions: - - additionalPrinterColumns: - - jsonPath: .spec.provisioner - name: Provisioner - type: string - - jsonPath: .spec.features.volume.create - name: Volume - type: boolean - - jsonPath: .spec.features.volume.expandMode - name: Expand - type: string - - jsonPath: .spec.features.volume.clone - name: Clone - type: boolean - - jsonPath: .spec.features.snapshot.create - name: Snapshot - type: boolean - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: StorageClassCapability is the Schema for the storage class capability - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: StorageClassCapabilitySpec defines the desired state of StorageClassCapability - properties: - features: - description: CapabilityFeatures describe storage features - properties: - snapshot: - description: SnapshotFeature describe snapshot features - properties: - create: - type: boolean - list: - type: boolean - required: - - create - - list - type: object - topology: - type: boolean - volume: - description: VolumeFeature describe volume features - properties: - attach: - type: boolean - clone: - type: boolean - create: - type: boolean - expandMode: - type: string - list: - type: boolean - stats: - type: boolean - required: - - attach - - clone - - create - - expandMode - - list - - stats - type: object - required: - - snapshot - - topology - - volume - type: object - provisioner: - type: string - required: - - features - - provisioner - type: object - required: - - spec - type: object - served: true - storage: true - subresources: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/pkg/controller/storage/capability/capability_controller.go b/pkg/controller/storage/capability/capability_controller.go index 8d205b312..27cc7b2ef 100644 --- a/pkg/controller/storage/capability/capability_controller.go +++ b/pkg/controller/storage/capability/capability_controller.go @@ -25,8 +25,6 @@ import ( "time" "k8s.io/apimachinery/pkg/labels" - storageinformersv1beta1 "k8s.io/client-go/informers/storage/v1beta1" - storagelistersv1beta1 "k8s.io/client-go/listers/storage/v1beta1" storagev1 "k8s.io/api/storage/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -53,7 +51,7 @@ type StorageCapabilityController struct { storageClassLister storagelistersv1.StorageClassLister storageClassSynced cache.InformerSynced - csiDriverLister storagelistersv1beta1.CSIDriverLister + csiDriverLister storagelistersv1.CSIDriverLister csiDriverSynced cache.InformerSynced storageClassWorkQueue workqueue.RateLimitingInterface @@ -64,7 +62,7 @@ type StorageCapabilityController struct { func NewController( storageClassClient storageclient.StorageClassInterface, storageClassInformer storageinformersv1.StorageClassInformer, - csiDriverInformer storageinformersv1beta1.CSIDriverInformer, + csiDriverInformer storageinformersv1.CSIDriverInformer, ) *StorageCapabilityController { utilruntime.Must(crdscheme.AddToScheme(scheme.Scheme)) diff --git a/pkg/controller/storage/capability/capability_controller_test.go b/pkg/controller/storage/capability/capability_controller_test.go index 0ebb7d684..22486e5e5 100644 --- a/pkg/controller/storage/capability/capability_controller_test.go +++ b/pkg/controller/storage/capability/capability_controller_test.go @@ -19,13 +19,12 @@ package capability import ( - "github.com/google/go-cmp/cmp" - "k8s.io/api/storage/v1beta1" - "reflect" "testing" "time" + "github.com/google/go-cmp/cmp" + storagev1 "k8s.io/api/storage/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -53,7 +52,7 @@ type fixture struct { storageObjects []runtime.Object // include StorageClass // Objects to put in the store. storageClassLister []*storagev1.StorageClass - csiDriverLister []*v1beta1.CSIDriver + csiDriverLister []*storagev1.CSIDriver // Actions expected to happen on the client. actions []core.Action } @@ -74,14 +73,14 @@ func (f *fixture) newController() (*StorageCapabilityController, c := NewController( f.k8sClient.StorageV1().StorageClasses(), k8sInformers.Storage().V1().StorageClasses(), - k8sInformers.Storage().V1beta1().CSIDrivers(), + k8sInformers.Storage().V1().CSIDrivers(), ) for _, storageClass := range f.storageClassLister { _ = k8sInformers.Storage().V1().StorageClasses().Informer().GetIndexer().Add(storageClass) } for _, csiDriver := range f.csiDriverLister { - _ = k8sInformers.Storage().V1beta1().CSIDrivers().Informer().GetIndexer().Add(csiDriver) + _ = k8sInformers.Storage().V1().CSIDrivers().Informer().GetIndexer().Add(csiDriver) } return c, k8sInformers @@ -197,8 +196,8 @@ func newStorageClass(name string, provisioner string) *storagev1.StorageClass { } } -func newCSIDriver(name string) *v1beta1.CSIDriver { - return &v1beta1.CSIDriver{ +func newCSIDriver(name string) *storagev1.CSIDriver { + return &storagev1.CSIDriver{ ObjectMeta: v1.ObjectMeta{ Name: name, },