Skip to content

Commit 9ec6ee5

Browse files
committed
Remove cloud provider dependency from volume host and volume controllers
1 parent 1fc92f3 commit 9ec6ee5

File tree

14 files changed

+13
-99
lines changed

14 files changed

+13
-99
lines changed

cmd/kube-controller-manager/app/core.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,6 @@ func startPersistentVolumeBinderController(ctx context.Context, controllerContex
337337
KubeClient: controllerContext.ClientBuilder.ClientOrDie("persistent-volume-binder"),
338338
SyncPeriod: controllerContext.ComponentConfig.PersistentVolumeBinderController.PVClaimBinderSyncPeriod.Duration,
339339
VolumePlugins: plugins,
340-
Cloud: controllerContext.Cloud,
341340
ClusterName: controllerContext.ComponentConfig.KubeCloudShared.ClusterName,
342341
VolumeInformer: controllerContext.InformerFactory.Core().V1().PersistentVolumes(),
343342
ClaimInformer: controllerContext.InformerFactory.Core().V1().PersistentVolumeClaims(),
@@ -384,7 +383,6 @@ func startPersistentVolumeAttachDetachController(ctx context.Context, controller
384383
csiNodeInformer,
385384
csiDriverInformer,
386385
controllerContext.InformerFactory.Storage().V1().VolumeAttachments(),
387-
controllerContext.Cloud,
388386
plugins,
389387
GetDynamicPluginProber(controllerContext.ComponentConfig.PersistentVolumeBinderController.VolumeConfiguration),
390388
controllerContext.ComponentConfig.AttachDetachController.DisableAttachDetachReconcilerSync,
@@ -419,7 +417,6 @@ func startPersistentVolumeExpanderController(ctx context.Context, controllerCont
419417
ctx,
420418
controllerContext.ClientBuilder.ClientOrDie("expand-controller"),
421419
controllerContext.InformerFactory.Core().V1().PersistentVolumeClaims(),
422-
controllerContext.Cloud,
423420
plugins,
424421
csiTranslator,
425422
csimigration.NewPluginManager(csiTranslator, utilfeature.DefaultFeatureGate),

pkg/controller/volume/attachdetach/attach_detach_controller.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import (
4646
kcache "k8s.io/client-go/tools/cache"
4747
"k8s.io/client-go/tools/record"
4848
"k8s.io/client-go/util/workqueue"
49-
cloudprovider "k8s.io/cloud-provider"
5049
csitrans "k8s.io/csi-translation-lib"
5150
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache"
5251
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/metrics"
@@ -114,7 +113,6 @@ func NewAttachDetachController(
114113
csiNodeInformer storageinformersv1.CSINodeInformer,
115114
csiDriverInformer storageinformersv1.CSIDriverInformer,
116115
volumeAttachmentInformer storageinformersv1.VolumeAttachmentInformer,
117-
cloud cloudprovider.Interface,
118116
plugins []volume.VolumePlugin,
119117
prober volume.DynamicPluginProber,
120118
disableReconciliationSync bool,
@@ -135,7 +133,6 @@ func NewAttachDetachController(
135133
podIndexer: podInformer.Informer().GetIndexer(),
136134
nodeLister: nodeInformer.Lister(),
137135
nodesSynced: nodeInformer.Informer().HasSynced,
138-
cloud: cloud,
139136
pvcQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "pvcs"),
140137
}
141138

@@ -277,9 +274,6 @@ type attachDetachController struct {
277274
volumeAttachmentLister storagelistersv1.VolumeAttachmentLister
278275
volumeAttachmentSynced kcache.InformerSynced
279276

280-
// cloud provider used by volume host
281-
cloud cloudprovider.Interface
282-
283277
// volumePluginMgr used to initialize and fetch volume plugins
284278
volumePluginMgr volume.VolumePluginMgr
285279

@@ -809,10 +803,6 @@ func (adc *attachDetachController) NewWrapperUnmounter(volName string, spec volu
809803
return nil, fmt.Errorf("NewWrapperUnmounter not supported by Attach/Detach controller's VolumeHost implementation")
810804
}
811805

812-
func (adc *attachDetachController) GetCloudProvider() cloudprovider.Interface {
813-
return adc.cloud
814-
}
815-
816806
func (adc *attachDetachController) GetMounter(pluginName string) mount.Interface {
817807
return nil
818808
}

pkg/controller/volume/attachdetach/attach_detach_controller_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ func createADC(t testing.TB, tCtx ktesting.TContext, fakeKubeClient *fake.Client
5858
informerFactory.Storage().V1().CSINodes(),
5959
informerFactory.Storage().V1().CSIDrivers(),
6060
informerFactory.Storage().V1().VolumeAttachments(),
61-
nil, /* cloud */
6261
plugins,
6362
nil, /* prober */
6463
false,
@@ -272,7 +271,6 @@ func attachDetachRecoveryTestCase(t *testing.T, extraPods1 []*v1.Pod, extraPods2
272271
informerFactory.Storage().V1().CSINodes(),
273272
informerFactory.Storage().V1().CSIDrivers(),
274273
informerFactory.Storage().V1().VolumeAttachments(),
275-
nil, /* cloud */
276274
plugins,
277275
prober,
278276
false,

pkg/controller/volume/expand/expand_controller.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import (
4242
"k8s.io/client-go/tools/cache"
4343
"k8s.io/client-go/tools/record"
4444
"k8s.io/client-go/util/workqueue"
45-
cloudprovider "k8s.io/cloud-provider"
4645
"k8s.io/kubernetes/pkg/controller/volume/events"
4746
"k8s.io/kubernetes/pkg/features"
4847
"k8s.io/kubernetes/pkg/volume"
@@ -80,9 +79,6 @@ type expandController struct {
8079
pvcLister corelisters.PersistentVolumeClaimLister
8180
pvcsSynced cache.InformerSynced
8281

83-
// cloud provider used by volume host
84-
cloud cloudprovider.Interface
85-
8682
// volumePluginMgr used to initialize and fetch volume plugins
8783
volumePluginMgr volume.VolumePluginMgr
8884

@@ -103,14 +99,12 @@ func NewExpandController(
10399
ctx context.Context,
104100
kubeClient clientset.Interface,
105101
pvcInformer coreinformers.PersistentVolumeClaimInformer,
106-
cloud cloudprovider.Interface,
107102
plugins []volume.VolumePlugin,
108103
translator CSINameTranslator,
109104
csiMigratedPluginManager csimigration.PluginManager) (ExpandController, error) {
110105

111106
expc := &expandController{
112107
kubeClient: kubeClient,
113-
cloud: cloud,
114108
pvcLister: pvcInformer.Lister(),
115109
pvcsSynced: pvcInformer.Informer().HasSynced,
116110
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "volume_expand"),
@@ -407,10 +401,6 @@ func (expc *expandController) NewWrapperUnmounter(volName string, spec volume.Sp
407401
return nil, fmt.Errorf("NewWrapperUnmounter not supported by expand controller's VolumeHost implementation")
408402
}
409403

410-
func (expc *expandController) GetCloudProvider() cloudprovider.Interface {
411-
return expc.cloud
412-
}
413-
414404
func (expc *expandController) GetMounter(pluginName string) mount.Interface {
415405
return nil
416406
}

pkg/controller/volume/expand/expand_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func TestSyncHandler(t *testing.T) {
108108
}
109109
allPlugins := []volume.VolumePlugin{}
110110
translator := csitrans.New()
111-
expc, err := NewExpandController(tCtx, fakeKubeClient, pvcInformer, nil, allPlugins, translator, csimigration.NewPluginManager(translator, utilfeature.DefaultFeatureGate))
111+
expc, err := NewExpandController(tCtx, fakeKubeClient, pvcInformer, allPlugins, translator, csimigration.NewPluginManager(translator, utilfeature.DefaultFeatureGate))
112112
if err != nil {
113113
t.Fatalf("error creating expand controller : %v", err)
114114
}

pkg/controller/volume/persistentvolume/pv_controller.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import (
4141
"k8s.io/client-go/tools/record"
4242
ref "k8s.io/client-go/tools/reference"
4343
"k8s.io/client-go/util/workqueue"
44-
cloudprovider "k8s.io/cloud-provider"
4544
volerr "k8s.io/cloud-provider/volume/errors"
4645
storagehelpers "k8s.io/component-helpers/storage/volume"
4746
"k8s.io/kubernetes/pkg/controller/volume/common"
@@ -119,18 +118,6 @@ import (
119118
// claims at the same time. The controller must recover from any conflicts
120119
// that may arise from these conditions.
121120

122-
// CloudVolumeCreatedForClaimNamespaceTag is a name of a tag attached to a real volume in cloud (e.g. AWS EBS or GCE PD)
123-
// with namespace of a persistent volume claim used to create this volume.
124-
const CloudVolumeCreatedForClaimNamespaceTag = "kubernetes.io/created-for/pvc/namespace"
125-
126-
// CloudVolumeCreatedForClaimNameTag is a name of a tag attached to a real volume in cloud (e.g. AWS EBS or GCE PD)
127-
// with name of a persistent volume claim used to create this volume.
128-
const CloudVolumeCreatedForClaimNameTag = "kubernetes.io/created-for/pvc/name"
129-
130-
// CloudVolumeCreatedForVolumeNameTag is a name of a tag attached to a real volume in cloud (e.g. AWS EBS or GCE PD)
131-
// with name of appropriate Kubernetes persistent volume .
132-
const CloudVolumeCreatedForVolumeNameTag = "kubernetes.io/created-for/pv/name"
133-
134121
// Number of retries when we create a PV object for a provisioned volume.
135122
const createProvisionedPVRetryCount = 5
136123

@@ -167,7 +154,6 @@ type PersistentVolumeController struct {
167154
kubeClient clientset.Interface
168155
eventBroadcaster record.EventBroadcaster
169156
eventRecorder record.EventRecorder
170-
cloud cloudprovider.Interface
171157
volumePluginMgr vol.VolumePluginMgr
172158
enableDynamicProvisioning bool
173159
clusterName string
@@ -1653,16 +1639,9 @@ func (ctrl *PersistentVolumeController) provisionClaimOperation(
16531639
return pluginName, err
16541640
}
16551641

1656-
// Gather provisioning options
1657-
tags := make(map[string]string)
1658-
tags[CloudVolumeCreatedForClaimNamespaceTag] = claim.Namespace
1659-
tags[CloudVolumeCreatedForClaimNameTag] = claim.Name
1660-
tags[CloudVolumeCreatedForVolumeNameTag] = pvName
1661-
16621642
options := vol.VolumeOptions{
16631643
PersistentVolumeReclaimPolicy: *storageClass.ReclaimPolicy,
16641644
MountOptions: storageClass.MountOptions,
1665-
CloudTags: &tags,
16661645
ClusterName: ctrl.clusterName,
16671646
PVName: pvName,
16681647
PVC: claim,

pkg/controller/volume/persistentvolume/pv_controller_base.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import (
4040
"k8s.io/client-go/tools/cache"
4141
"k8s.io/client-go/tools/record"
4242
"k8s.io/client-go/util/workqueue"
43-
cloudprovider "k8s.io/cloud-provider"
4443
storagehelpers "k8s.io/component-helpers/storage/volume"
4544
csitrans "k8s.io/csi-translation-lib"
4645
"k8s.io/kubernetes/pkg/controller"
@@ -65,7 +64,6 @@ type ControllerParameters struct {
6564
KubeClient clientset.Interface
6665
SyncPeriod time.Duration
6766
VolumePlugins []vol.VolumePlugin
68-
Cloud cloudprovider.Interface
6967
ClusterName string
7068
VolumeInformer coreinformers.PersistentVolumeInformer
7169
ClaimInformer coreinformers.PersistentVolumeClaimInformer
@@ -87,7 +85,6 @@ func NewController(ctx context.Context, p ControllerParameters) (*PersistentVolu
8785
eventBroadcaster: eventBroadcaster,
8886
eventRecorder: eventRecorder,
8987
runningOperations: goroutinemap.NewGoRoutineMap(true /* exponentialBackOffOnError */),
90-
cloud: p.Cloud,
9188
enableDynamicProvisioning: p.EnableDynamicProvisioning,
9289
clusterName: p.ClusterName,
9390
createProvisionedPVRetryCount: createProvisionedPVRetryCount,

pkg/controller/volume/persistentvolume/volume_host.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"k8s.io/apimachinery/pkg/types"
3030
clientset "k8s.io/client-go/kubernetes"
3131
"k8s.io/client-go/tools/record"
32-
cloudprovider "k8s.io/cloud-provider"
3332
vol "k8s.io/kubernetes/pkg/volume"
3433
"k8s.io/kubernetes/pkg/volume/util/subpath"
3534
)
@@ -74,10 +73,6 @@ func (ctrl *PersistentVolumeController) NewWrapperUnmounter(volName string, spec
7473
return nil, fmt.Errorf("PersistentVolumeController.NewWrapperMounter is not implemented")
7574
}
7675

77-
func (ctrl *PersistentVolumeController) GetCloudProvider() cloudprovider.Interface {
78-
return ctrl.cloud
79-
}
80-
8176
func (ctrl *PersistentVolumeController) GetMounter(pluginName string) mount.Interface {
8277
return nil
8378
}

pkg/kubelet/volume_host.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
storagelisters "k8s.io/client-go/listers/storage/v1"
3636
"k8s.io/client-go/tools/cache"
3737
"k8s.io/client-go/tools/record"
38-
cloudprovider "k8s.io/cloud-provider"
3938
"k8s.io/kubernetes/pkg/kubelet/clustertrustbundle"
4039
"k8s.io/kubernetes/pkg/kubelet/configmap"
4140
"k8s.io/kubernetes/pkg/kubelet/secret"
@@ -217,10 +216,6 @@ func (kvh *kubeletVolumeHost) NewWrapperUnmounter(volName string, spec volume.Sp
217216
return plugin.NewUnmounter(spec.Name(), podUID)
218217
}
219218

220-
func (kvh *kubeletVolumeHost) GetCloudProvider() cloudprovider.Interface {
221-
return kvh.kubelet.cloud
222-
}
223-
224219
func (kvh *kubeletVolumeHost) GetMounter(pluginName string) mount.Interface {
225220
return kvh.kubelet.mounter
226221
}

pkg/volume/plugins.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import (
3939
storagelistersv1 "k8s.io/client-go/listers/storage/v1"
4040
"k8s.io/client-go/tools/cache"
4141
"k8s.io/client-go/tools/record"
42-
cloudprovider "k8s.io/cloud-provider"
4342
"k8s.io/kubernetes/pkg/volume/util/hostutil"
4443
"k8s.io/kubernetes/pkg/volume/util/recyclerclient"
4544
"k8s.io/kubernetes/pkg/volume/util/subpath"
@@ -85,8 +84,6 @@ type VolumeOptions struct {
8584
PVC *v1.PersistentVolumeClaim
8685
// Unique name of Kubernetes cluster.
8786
ClusterName string
88-
// Tags to attach to the real volume in the cloud provider - e.g. AWS EBS
89-
CloudTags *map[string]string
9087
// Volume provisioning parameters from StorageClass
9188
Parameters map[string]string
9289
}
@@ -408,9 +405,6 @@ type VolumeHost interface {
408405
// context.
409406
NewWrapperUnmounter(volName string, spec Spec, podUID types.UID) (Unmounter, error)
410407

411-
// Get cloud provider from kubelet.
412-
GetCloudProvider() cloudprovider.Interface
413-
414408
// Get mounter interface.
415409
GetMounter(pluginName string) mount.Interface
416410

0 commit comments

Comments
 (0)