From fb6dfeb718a4f9003186698e6a4a0e9a7a8287c6 Mon Sep 17 00:00:00 2001 From: Michelle Au Date: Thu, 17 Oct 2019 18:33:51 -0700 Subject: [PATCH] Convert attach-detach controller to use v1.CSINode --- cmd/kube-controller-manager/app/BUILD | 1 + cmd/kube-controller-manager/app/core.go | 5 +++-- pkg/controller/volume/attachdetach/BUILD | 2 ++ .../volume/attachdetach/attach_detach_controller.go | 8 +++++--- .../volume/attachdetach/attach_detach_controller_test.go | 4 ++-- pkg/volume/BUILD | 1 + pkg/volume/plugins.go | 3 ++- pkg/volume/testing/BUILD | 1 + pkg/volume/testing/testing.go | 3 ++- test/integration/volume/attach_detach_test.go | 4 ++-- 10 files changed, 21 insertions(+), 11 deletions(-) diff --git a/cmd/kube-controller-manager/app/BUILD b/cmd/kube-controller-manager/app/BUILD index 09d234ca53e..0497eea4700 100644 --- a/cmd/kube-controller-manager/app/BUILD +++ b/cmd/kube-controller-manager/app/BUILD @@ -124,6 +124,7 @@ go_library( "//staging/src/k8s.io/client-go/discovery/cached/memory:go_default_library", "//staging/src/k8s.io/client-go/dynamic:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", + "//staging/src/k8s.io/client-go/informers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/informers/storage/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/metadata:go_default_library", diff --git a/cmd/kube-controller-manager/app/core.go b/cmd/kube-controller-manager/app/core.go index a45dce2c2a2..ff592155a72 100644 --- a/cmd/kube-controller-manager/app/core.go +++ b/cmd/kube-controller-manager/app/core.go @@ -33,6 +33,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilfeature "k8s.io/apiserver/pkg/util/feature" cacheddiscovery "k8s.io/client-go/discovery/cached/memory" + storagev1informer "k8s.io/client-go/informers/storage/v1" storagev1beta1informer "k8s.io/client-go/informers/storage/v1beta1" clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/metadata" @@ -280,11 +281,11 @@ func startAttachDetachController(ctx ControllerContext) (http.Handler, bool, err } var ( - csiNodeInformer storagev1beta1informer.CSINodeInformer + csiNodeInformer storagev1informer.CSINodeInformer csiDriverInformer storagev1beta1informer.CSIDriverInformer ) if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) { - csiNodeInformer = ctx.InformerFactory.Storage().V1beta1().CSINodes() + csiNodeInformer = ctx.InformerFactory.Storage().V1().CSINodes() } if utilfeature.DefaultFeatureGate.Enabled(features.CSIDriverRegistry) { csiDriverInformer = ctx.InformerFactory.Storage().V1beta1().CSIDrivers() diff --git a/pkg/controller/volume/attachdetach/BUILD b/pkg/controller/volume/attachdetach/BUILD index e6621a7db26..47aff56a075 100644 --- a/pkg/controller/volume/attachdetach/BUILD +++ b/pkg/controller/volume/attachdetach/BUILD @@ -33,11 +33,13 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers/core/v1:go_default_library", + "//staging/src/k8s.io/client-go/informers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/informers/storage/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", + "//staging/src/k8s.io/client-go/listers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/listers/storage/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index 28a10588f77..75fe4bc2ed5 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -32,11 +32,13 @@ import ( "k8s.io/apimachinery/pkg/util/wait" utilfeature "k8s.io/apiserver/pkg/util/feature" coreinformers "k8s.io/client-go/informers/core/v1" + storageinformersv1 "k8s.io/client-go/informers/storage/v1" storageinformers "k8s.io/client-go/informers/storage/v1beta1" clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" v1core "k8s.io/client-go/kubernetes/typed/core/v1" corelisters "k8s.io/client-go/listers/core/v1" + storagelistersv1 "k8s.io/client-go/listers/storage/v1" storagelisters "k8s.io/client-go/listers/storage/v1beta1" kcache "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" @@ -104,7 +106,7 @@ func NewAttachDetachController( nodeInformer coreinformers.NodeInformer, pvcInformer coreinformers.PersistentVolumeClaimInformer, pvInformer coreinformers.PersistentVolumeInformer, - csiNodeInformer storageinformers.CSINodeInformer, + csiNodeInformer storageinformersv1.CSINodeInformer, csiDriverInformer storageinformers.CSIDriverInformer, cloud cloudprovider.Interface, plugins []volume.VolumePlugin, @@ -262,7 +264,7 @@ type attachDetachController struct { nodeLister corelisters.NodeLister nodesSynced kcache.InformerSynced - csiNodeLister storagelisters.CSINodeLister + csiNodeLister storagelistersv1.CSINodeLister csiNodeSynced kcache.InformerSynced // csiDriverLister is the shared CSIDriver lister used to fetch and store @@ -668,7 +670,7 @@ func (adc *attachDetachController) processVolumesInUse( var _ volume.VolumeHost = &attachDetachController{} var _ volume.AttachDetachVolumeHost = &attachDetachController{} -func (adc *attachDetachController) CSINodeLister() storagelisters.CSINodeLister { +func (adc *attachDetachController) CSINodeLister() storagelistersv1.CSINodeLister { return adc.csiNodeLister } diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller_test.go b/pkg/controller/volume/attachdetach/attach_detach_controller_test.go index eaef4f3b1d0..67fd38acab8 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller_test.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller_test.go @@ -45,7 +45,7 @@ func Test_NewAttachDetachController_Positive(t *testing.T) { informerFactory.Core().V1().Nodes(), informerFactory.Core().V1().PersistentVolumeClaims(), informerFactory.Core().V1().PersistentVolumes(), - informerFactory.Storage().V1beta1().CSINodes(), + informerFactory.Storage().V1().CSINodes(), informerFactory.Storage().V1beta1().CSIDrivers(), nil, /* cloud */ nil, /* plugins */ @@ -221,7 +221,7 @@ func attachDetachRecoveryTestCase(t *testing.T, extraPods1 []*v1.Pod, extraPods2 informerFactory.Core().V1().Nodes(), informerFactory.Core().V1().PersistentVolumeClaims(), informerFactory.Core().V1().PersistentVolumes(), - informerFactory.Storage().V1beta1().CSINodes(), + informerFactory.Storage().V1().CSINodes(), informerFactory.Storage().V1beta1().CSIDrivers(), nil, /* cloud */ plugins, diff --git a/pkg/volume/BUILD b/pkg/volume/BUILD index edef4b8bee4..b141b032469 100644 --- a/pkg/volume/BUILD +++ b/pkg/volume/BUILD @@ -34,6 +34,7 @@ go_library( "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", + "//staging/src/k8s.io/client-go/listers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/listers/storage/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", diff --git a/pkg/volume/plugins.go b/pkg/volume/plugins.go index 406168e9055..be33716b840 100644 --- a/pkg/volume/plugins.go +++ b/pkg/volume/plugins.go @@ -32,6 +32,7 @@ import ( utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/informers" clientset "k8s.io/client-go/kubernetes" + storagelistersv1 "k8s.io/client-go/listers/storage/v1" storagelisters "k8s.io/client-go/listers/storage/v1beta1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" @@ -350,7 +351,7 @@ type KubeletVolumeHost interface { // to access methods on the Attach Detach Controller. type AttachDetachVolumeHost interface { // CSINodeLister returns the informer lister for the CSINode API Object - CSINodeLister() storagelisters.CSINodeLister + CSINodeLister() storagelistersv1.CSINodeLister // CSIDriverLister returns the informer lister for the CSIDriver API Object CSIDriverLister() storagelisters.CSIDriverLister diff --git a/pkg/volume/testing/BUILD b/pkg/volume/testing/BUILD index 42dfb176e76..e666a1b6a13 100644 --- a/pkg/volume/testing/BUILD +++ b/pkg/volume/testing/BUILD @@ -28,6 +28,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", + "//staging/src/k8s.io/client-go/listers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/listers/storage/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index 67bbbaa5d5c..85f9edb4738 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -35,6 +35,7 @@ import ( "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/client-go/informers" clientset "k8s.io/client-go/kubernetes" + storagelistersv1 "k8s.io/client-go/listers/storage/v1" storagelisters "k8s.io/client-go/listers/storage/v1beta1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" @@ -1509,7 +1510,7 @@ func (f *fakeVolumeHost) CSIDriversSynced() cache.InformerSynced { return nil } -func (f *fakeVolumeHost) CSINodeLister() storagelisters.CSINodeLister { +func (f *fakeVolumeHost) CSINodeLister() storagelistersv1.CSINodeLister { // not needed for testing return nil } diff --git a/test/integration/volume/attach_detach_test.go b/test/integration/volume/attach_detach_test.go index 1af6d6493ce..b14a8ecabf1 100644 --- a/test/integration/volume/attach_detach_test.go +++ b/test/integration/volume/attach_detach_test.go @@ -22,7 +22,7 @@ import ( "testing" "time" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" @@ -430,7 +430,7 @@ func createAdClients(ns *v1.Namespace, t *testing.T, server *httptest.Server, sy informers.Core().V1().Nodes(), informers.Core().V1().PersistentVolumeClaims(), informers.Core().V1().PersistentVolumes(), - informers.Storage().V1beta1().CSINodes(), + informers.Storage().V1().CSINodes(), informers.Storage().V1beta1().CSIDrivers(), cloud, plugins,