mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Convert attach-detach controller to use v1.CSINode
This commit is contained in:
parent
2d467ed9d8
commit
fb6dfeb718
@ -124,6 +124,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/client-go/discovery/cached/memory:go_default_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/dynamic:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/informers: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/informers/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/metadata:go_default_library",
|
"//staging/src/k8s.io/client-go/metadata:go_default_library",
|
||||||
|
@ -33,6 +33,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
cacheddiscovery "k8s.io/client-go/discovery/cached/memory"
|
cacheddiscovery "k8s.io/client-go/discovery/cached/memory"
|
||||||
|
storagev1informer "k8s.io/client-go/informers/storage/v1"
|
||||||
storagev1beta1informer "k8s.io/client-go/informers/storage/v1beta1"
|
storagev1beta1informer "k8s.io/client-go/informers/storage/v1beta1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/metadata"
|
"k8s.io/client-go/metadata"
|
||||||
@ -280,11 +281,11 @@ func startAttachDetachController(ctx ControllerContext) (http.Handler, bool, err
|
|||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
csiNodeInformer storagev1beta1informer.CSINodeInformer
|
csiNodeInformer storagev1informer.CSINodeInformer
|
||||||
csiDriverInformer storagev1beta1informer.CSIDriverInformer
|
csiDriverInformer storagev1beta1informer.CSIDriverInformer
|
||||||
)
|
)
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) {
|
||||||
csiNodeInformer = ctx.InformerFactory.Storage().V1beta1().CSINodes()
|
csiNodeInformer = ctx.InformerFactory.Storage().V1().CSINodes()
|
||||||
}
|
}
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSIDriverRegistry) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.CSIDriverRegistry) {
|
||||||
csiDriverInformer = ctx.InformerFactory.Storage().V1beta1().CSIDrivers()
|
csiDriverInformer = ctx.InformerFactory.Storage().V1beta1().CSIDrivers()
|
||||||
|
@ -33,11 +33,13 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_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/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/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/informers/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes: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/scheme:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1: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/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/listers/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/cache: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",
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
@ -32,11 +32,13 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
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"
|
||||||
|
storageinformersv1 "k8s.io/client-go/informers/storage/v1"
|
||||||
storageinformers "k8s.io/client-go/informers/storage/v1beta1"
|
storageinformers "k8s.io/client-go/informers/storage/v1beta1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/kubernetes/scheme"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
|
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||||
corelisters "k8s.io/client-go/listers/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"
|
storagelisters "k8s.io/client-go/listers/storage/v1beta1"
|
||||||
kcache "k8s.io/client-go/tools/cache"
|
kcache "k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
@ -104,7 +106,7 @@ func NewAttachDetachController(
|
|||||||
nodeInformer coreinformers.NodeInformer,
|
nodeInformer coreinformers.NodeInformer,
|
||||||
pvcInformer coreinformers.PersistentVolumeClaimInformer,
|
pvcInformer coreinformers.PersistentVolumeClaimInformer,
|
||||||
pvInformer coreinformers.PersistentVolumeInformer,
|
pvInformer coreinformers.PersistentVolumeInformer,
|
||||||
csiNodeInformer storageinformers.CSINodeInformer,
|
csiNodeInformer storageinformersv1.CSINodeInformer,
|
||||||
csiDriverInformer storageinformers.CSIDriverInformer,
|
csiDriverInformer storageinformers.CSIDriverInformer,
|
||||||
cloud cloudprovider.Interface,
|
cloud cloudprovider.Interface,
|
||||||
plugins []volume.VolumePlugin,
|
plugins []volume.VolumePlugin,
|
||||||
@ -262,7 +264,7 @@ type attachDetachController struct {
|
|||||||
nodeLister corelisters.NodeLister
|
nodeLister corelisters.NodeLister
|
||||||
nodesSynced kcache.InformerSynced
|
nodesSynced kcache.InformerSynced
|
||||||
|
|
||||||
csiNodeLister storagelisters.CSINodeLister
|
csiNodeLister storagelistersv1.CSINodeLister
|
||||||
csiNodeSynced kcache.InformerSynced
|
csiNodeSynced kcache.InformerSynced
|
||||||
|
|
||||||
// csiDriverLister is the shared CSIDriver lister used to fetch and store
|
// 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.VolumeHost = &attachDetachController{}
|
||||||
var _ volume.AttachDetachVolumeHost = &attachDetachController{}
|
var _ volume.AttachDetachVolumeHost = &attachDetachController{}
|
||||||
|
|
||||||
func (adc *attachDetachController) CSINodeLister() storagelisters.CSINodeLister {
|
func (adc *attachDetachController) CSINodeLister() storagelistersv1.CSINodeLister {
|
||||||
return adc.csiNodeLister
|
return adc.csiNodeLister
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ func Test_NewAttachDetachController_Positive(t *testing.T) {
|
|||||||
informerFactory.Core().V1().Nodes(),
|
informerFactory.Core().V1().Nodes(),
|
||||||
informerFactory.Core().V1().PersistentVolumeClaims(),
|
informerFactory.Core().V1().PersistentVolumeClaims(),
|
||||||
informerFactory.Core().V1().PersistentVolumes(),
|
informerFactory.Core().V1().PersistentVolumes(),
|
||||||
informerFactory.Storage().V1beta1().CSINodes(),
|
informerFactory.Storage().V1().CSINodes(),
|
||||||
informerFactory.Storage().V1beta1().CSIDrivers(),
|
informerFactory.Storage().V1beta1().CSIDrivers(),
|
||||||
nil, /* cloud */
|
nil, /* cloud */
|
||||||
nil, /* plugins */
|
nil, /* plugins */
|
||||||
@ -221,7 +221,7 @@ func attachDetachRecoveryTestCase(t *testing.T, extraPods1 []*v1.Pod, extraPods2
|
|||||||
informerFactory.Core().V1().Nodes(),
|
informerFactory.Core().V1().Nodes(),
|
||||||
informerFactory.Core().V1().PersistentVolumeClaims(),
|
informerFactory.Core().V1().PersistentVolumeClaims(),
|
||||||
informerFactory.Core().V1().PersistentVolumes(),
|
informerFactory.Core().V1().PersistentVolumes(),
|
||||||
informerFactory.Storage().V1beta1().CSINodes(),
|
informerFactory.Storage().V1().CSINodes(),
|
||||||
informerFactory.Storage().V1beta1().CSIDrivers(),
|
informerFactory.Storage().V1beta1().CSIDrivers(),
|
||||||
nil, /* cloud */
|
nil, /* cloud */
|
||||||
plugins,
|
plugins,
|
||||||
|
@ -34,6 +34,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_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/informers:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes: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/listers/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/cache: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",
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
"k8s.io/client-go/informers"
|
"k8s.io/client-go/informers"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
|
storagelistersv1 "k8s.io/client-go/listers/storage/v1"
|
||||||
storagelisters "k8s.io/client-go/listers/storage/v1beta1"
|
storagelisters "k8s.io/client-go/listers/storage/v1beta1"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
@ -350,7 +351,7 @@ type KubeletVolumeHost interface {
|
|||||||
// to access methods on the Attach Detach Controller.
|
// to access methods on the Attach Detach Controller.
|
||||||
type AttachDetachVolumeHost interface {
|
type AttachDetachVolumeHost interface {
|
||||||
// CSINodeLister returns the informer lister for the CSINode API Object
|
// 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 returns the informer lister for the CSIDriver API Object
|
||||||
CSIDriverLister() storagelisters.CSIDriverLister
|
CSIDriverLister() storagelisters.CSIDriverLister
|
||||||
|
@ -28,6 +28,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_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/informers:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes: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/listers/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/cache: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",
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
@ -35,6 +35,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/uuid"
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
"k8s.io/client-go/informers"
|
"k8s.io/client-go/informers"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
|
storagelistersv1 "k8s.io/client-go/listers/storage/v1"
|
||||||
storagelisters "k8s.io/client-go/listers/storage/v1beta1"
|
storagelisters "k8s.io/client-go/listers/storage/v1beta1"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
@ -1509,7 +1510,7 @@ func (f *fakeVolumeHost) CSIDriversSynced() cache.InformerSynced {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *fakeVolumeHost) CSINodeLister() storagelisters.CSINodeLister {
|
func (f *fakeVolumeHost) CSINodeLister() storagelistersv1.CSINodeLister {
|
||||||
// not needed for testing
|
// not needed for testing
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"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/runtime/schema"
|
"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().Nodes(),
|
||||||
informers.Core().V1().PersistentVolumeClaims(),
|
informers.Core().V1().PersistentVolumeClaims(),
|
||||||
informers.Core().V1().PersistentVolumes(),
|
informers.Core().V1().PersistentVolumes(),
|
||||||
informers.Storage().V1beta1().CSINodes(),
|
informers.Storage().V1().CSINodes(),
|
||||||
informers.Storage().V1beta1().CSIDrivers(),
|
informers.Storage().V1beta1().CSIDrivers(),
|
||||||
cloud,
|
cloud,
|
||||||
plugins,
|
plugins,
|
||||||
|
Loading…
Reference in New Issue
Block a user