diff options
| author | fisherxu <xufei40@huawei.com> | 2020-02-13 12:02:54 +0800 |
|---|---|---|
| committer | Kevin Wang <kevinwzf0126@gmail.com> | 2020-02-21 17:34:30 +0800 |
| commit | 5161f4bc786e925525c21c76ee6d82eb949a112b (patch) | |
| tree | 29a9d3ce08bdb80351bfda69336e4c4f33a5bcbb | |
| parent | Merge pull request #1459 from fisherxu/release-1.2 (diff) | |
| download | kubeedge-5161f4bc786e925525c21c76ee6d82eb949a112b.tar.gz | |
fix bug for hostpath volume
| -rw-r--r-- | edge/pkg/edged/edged.go | 6 | ||||
| -rw-r--r-- | edge/pkg/edged/volume/csi/csi_plugin.go | 5 | ||||
| -rw-r--r-- | edge/pkg/edged/volume_host.go | 40 |
3 files changed, 40 insertions, 11 deletions
diff --git a/edge/pkg/edged/edged.go b/edge/pkg/edged/edged.go index fb3a7367d..b9c018ea0 100644 --- a/edge/pkg/edged/edged.go +++ b/edge/pkg/edged/edged.go @@ -260,6 +260,8 @@ func (e *edged) Enable() bool { } func (e *edged) Start() { + e.volumePluginMgr = NewInitializedVolumePluginMgr(e, ProbeVolumePlugins("")) + e.statusManager = status.NewManager(e.kubeClient, e.podManager, utilpod.NewPodDeleteSafety(), e.metaClient) if err := e.initializeModules(); err != nil { klog.Errorf("initialize module error: %v", err) @@ -551,10 +553,6 @@ func newEdged(enable bool) (*edged, error) { } ed.containerGCManager = containerGCManager ed.server = server.NewServer(ed.podManager) - ed.volumePluginMgr, err = NewInitializedVolumePluginMgr(ed, ProbeVolumePlugins("")) - if err != nil { - return nil, fmt.Errorf("init VolumePluginMgr failed with error %s", err.Error()) - } return ed, nil } diff --git a/edge/pkg/edged/volume/csi/csi_plugin.go b/edge/pkg/edged/volume/csi/csi_plugin.go index f0e91c927..6bc1c0032 100644 --- a/edge/pkg/edged/volume/csi/csi_plugin.go +++ b/edge/pkg/edged/volume/csi/csi_plugin.go @@ -246,14 +246,15 @@ func (p *csiPlugin) Init(host volume.VolumeHost) error { // Initializing the label management channels nim = nodeinfomanager.NewNodeInfoManager(host.GetNodeName(), host, migratedPlugins) - if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) && + // TODO: Evaluate the feature releated to csi + /*if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) && utilfeature.DefaultFeatureGate.Enabled(features.CSIMigration) { // This function prevents Kubelet from posting Ready status until CSINodeInfo // is both installed and initialized if err := initializeCSINode(host); err != nil { return fmt.Errorf("failed to initialize CSINodeInfo: %v", err) } - } + }*/ return nil } diff --git a/edge/pkg/edged/volume_host.go b/edge/pkg/edged/volume_host.go index dbc5dee52..8d502cc66 100644 --- a/edge/pkg/edged/volume_host.go +++ b/edge/pkg/edged/volume_host.go @@ -27,15 +27,20 @@ package edged import ( "fmt" "net" + "os" authenticationv1 "k8s.io/api/authentication/v1" api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" + storagelisters "k8s.io/client-go/listers/storage/v1beta1" "k8s.io/client-go/tools/cache" recordtools "k8s.io/client-go/tools/record" cloudprovider "k8s.io/cloud-provider" + "k8s.io/klog" "k8s.io/kubernetes/pkg/volume" + "k8s.io/kubernetes/pkg/volume/util/hostutil" "k8s.io/kubernetes/pkg/volume/util/subpath" utilexec "k8s.io/utils/exec" "k8s.io/utils/mount" @@ -44,19 +49,18 @@ import ( // NewInitializedVolumePluginMgr returns a new instance of volume.VolumePluginMgr func NewInitializedVolumePluginMgr( edge *edged, - plugins []volume.VolumePlugin) (*volume.VolumePluginMgr, error) { + plugins []volume.VolumePlugin) *volume.VolumePluginMgr { evh := &edgedVolumeHost{ edge: edge, volumePluginMgr: volume.VolumePluginMgr{}, } if err := evh.volumePluginMgr.InitPlugins(plugins, nil, evh); err != nil { - return nil, fmt.Errorf( - "Could not initialize volume plugins for KubeletVolumePluginMgr: %v", - err) + klog.Errorf("Could not initialize volume plugins for KubeletVolumePluginMgr: %v", err) + os.Exit(1) } - return &evh.volumePluginMgr, nil + return &evh.volumePluginMgr } // Compile-time check to ensure kubeletVolumeHost implements the VolumeHost interface @@ -168,3 +172,29 @@ func (evh *edgedVolumeHost) GetSubpather() subpath.Interface { // No volume plugin needs Subpaths return subpath.New(evh.edge.mounter) } + +func (evh *edgedVolumeHost) GetHostUtil() hostutil.HostUtils { + return evh.edge.hostUtil +} + +// TODO: Evaluate the funcs releated to csi +func (evh *edgedVolumeHost) SetKubeletError(err error) { +} + +func (evh *edgedVolumeHost) GetInformerFactory() informers.SharedInformerFactory { + const resyncPeriod = 0 + return informers.NewSharedInformerFactory(evh.edge.kubeClient, resyncPeriod) +} + +func (evh *edgedVolumeHost) CSIDriverLister() storagelisters.CSIDriverLister { + return nil +} + +func (evh *edgedVolumeHost) CSIDriversSynced() cache.InformerSynced { + return nil +} + +// WaitForCacheSync is a helper function that waits for cache sync for CSIDriverLister +func (evh *edgedVolumeHost) WaitForCacheSync() error { + return nil +} |
