From 988dc83c0b6d6fdcc21c94ed47101d7582d7a4b6 Mon Sep 17 00:00:00 2001 From: wojtekt Date: Tue, 3 Sep 2019 09:07:37 +0200 Subject: [PATCH] Register all volume plugins in kubemark --- pkg/kubemark/BUILD | 18 ++++++++++++ pkg/kubemark/hollow_kubelet.go | 51 +++++++++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/pkg/kubemark/BUILD b/pkg/kubemark/BUILD index bfddad59b6f..ccb01672b27 100644 --- a/pkg/kubemark/BUILD +++ b/pkg/kubemark/BUILD @@ -32,9 +32,27 @@ go_library( "//pkg/util/node:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/sysctl:go_default_library", + "//pkg/volume:go_default_library", + "//pkg/volume/cephfs:go_default_library", + "//pkg/volume/configmap:go_default_library", + "//pkg/volume/csi:go_default_library", + "//pkg/volume/downwardapi:go_default_library", "//pkg/volume/emptydir:go_default_library", + "//pkg/volume/fc:go_default_library", + "//pkg/volume/flocker:go_default_library", + "//pkg/volume/git_repo:go_default_library", + "//pkg/volume/glusterfs:go_default_library", + "//pkg/volume/hostpath:go_default_library", + "//pkg/volume/iscsi:go_default_library", + "//pkg/volume/local:go_default_library", + "//pkg/volume/nfs:go_default_library", + "//pkg/volume/portworx:go_default_library", "//pkg/volume/projected:go_default_library", + "//pkg/volume/quobyte:go_default_library", + "//pkg/volume/rbd:go_default_library", + "//pkg/volume/scaleio:go_default_library", "//pkg/volume/secret:go_default_library", + "//pkg/volume/storageos:go_default_library", "//pkg/volume/util/hostutil:go_default_library", "//pkg/volume/util/subpath:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", diff --git a/pkg/kubemark/hollow_kubelet.go b/pkg/kubemark/hollow_kubelet.go index ed74ea91b04..a97dd18e468 100644 --- a/pkg/kubemark/hollow_kubelet.go +++ b/pkg/kubemark/hollow_kubelet.go @@ -33,9 +33,27 @@ import ( kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/oom" + "k8s.io/kubernetes/pkg/volume" + "k8s.io/kubernetes/pkg/volume/cephfs" + "k8s.io/kubernetes/pkg/volume/configmap" + "k8s.io/kubernetes/pkg/volume/csi" + "k8s.io/kubernetes/pkg/volume/downwardapi" "k8s.io/kubernetes/pkg/volume/emptydir" + "k8s.io/kubernetes/pkg/volume/fc" + "k8s.io/kubernetes/pkg/volume/flocker" + "k8s.io/kubernetes/pkg/volume/git_repo" + "k8s.io/kubernetes/pkg/volume/glusterfs" + "k8s.io/kubernetes/pkg/volume/hostpath" + "k8s.io/kubernetes/pkg/volume/iscsi" + "k8s.io/kubernetes/pkg/volume/local" + "k8s.io/kubernetes/pkg/volume/nfs" + "k8s.io/kubernetes/pkg/volume/portworx" "k8s.io/kubernetes/pkg/volume/projected" + "k8s.io/kubernetes/pkg/volume/quobyte" + "k8s.io/kubernetes/pkg/volume/rbd" + "k8s.io/kubernetes/pkg/volume/scaleio" "k8s.io/kubernetes/pkg/volume/secret" + "k8s.io/kubernetes/pkg/volume/storageos" "k8s.io/kubernetes/pkg/volume/util/hostutil" "k8s.io/kubernetes/pkg/volume/util/subpath" "k8s.io/kubernetes/test/utils" @@ -49,6 +67,31 @@ type HollowKubelet struct { KubeletDeps *kubelet.Dependencies } +func volumePlugins() []volume.VolumePlugin { + allPlugins := []volume.VolumePlugin{} + allPlugins = append(allPlugins, emptydir.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, git_repo.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, hostpath.ProbeVolumePlugins(volume.VolumeConfig{})...) + allPlugins = append(allPlugins, nfs.ProbeVolumePlugins(volume.VolumeConfig{})...) + allPlugins = append(allPlugins, secret.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, iscsi.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, glusterfs.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, quobyte.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, cephfs.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, downwardapi.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, flocker.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, configmap.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, projected.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, portworx.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, local.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...) + return allPlugins +} + func NewHollowKubelet( flags *options.KubeletFlags, config *kubeletconfig.KubeletConfiguration, @@ -57,12 +100,6 @@ func NewHollowKubelet( cadvisorInterface cadvisor.Interface, dockerClientConfig *dockershim.ClientConfig, containerManager cm.ContainerManager) *HollowKubelet { - // ----------------- - // Injected objects - // ----------------- - volumePlugins := emptydir.ProbeVolumePlugins() - volumePlugins = append(volumePlugins, secret.ProbeVolumePlugins()...) - volumePlugins = append(volumePlugins, projected.ProbeVolumePlugins()...) d := &kubelet.Dependencies{ KubeClient: client, HeartbeatClient: heartbeatClient, @@ -71,7 +108,7 @@ func NewHollowKubelet( Cloud: nil, OSInterface: &containertest.FakeOS{}, ContainerManager: containerManager, - VolumePlugins: volumePlugins, + VolumePlugins: volumePlugins(), TLSOptions: nil, OOMAdjuster: oom.NewFakeOOMAdjuster(), Mounter: mount.New("" /* default mount path */),