summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisherxu <xufei40@huawei.com>2020-02-13 12:02:54 +0800
committerKevin Wang <kevinwzf0126@gmail.com>2020-02-21 17:34:30 +0800
commit5161f4bc786e925525c21c76ee6d82eb949a112b (patch)
tree29a9d3ce08bdb80351bfda69336e4c4f33a5bcbb
parentMerge pull request #1459 from fisherxu/release-1.2 (diff)
downloadkubeedge-5161f4bc786e925525c21c76ee6d82eb949a112b.tar.gz
fix bug for hostpath volume
-rw-r--r--edge/pkg/edged/edged.go6
-rw-r--r--edge/pkg/edged/volume/csi/csi_plugin.go5
-rw-r--r--edge/pkg/edged/volume_host.go40
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
+}