summaryrefslogtreecommitdiff
path: root/edge
diff options
context:
space:
mode:
authorfisherxu <xufei40@huawei.com>2019-10-15 10:06:25 +0800
committerfisherxu <xufei40@huawei.com>2019-10-17 16:56:17 +0800
commiteaaa2ceabc1cbb92e447fae3d10691cc716e7ea6 (patch)
tree20f75bdb05fa952a6d62f9e9f7d19fe4325ab0af /edge
parentMerge pull request #1199 from kevin-wangzefeng/fix-update-vendors (diff)
downloadkubeedge-eaaa2ceabc1cbb92e447fae3d10691cc716e7ea6.tar.gz
improvement for codebase
Diffstat (limited to 'edge')
-rw-r--r--edge/pkg/edged/edged.go133
1 files changed, 67 insertions, 66 deletions
diff --git a/edge/pkg/edged/edged.go b/edge/pkg/edged/edged.go
index ec94e34d6..9a284e1ce 100644
--- a/edge/pkg/edged/edged.go
+++ b/edge/pkg/edged/edged.go
@@ -920,86 +920,87 @@ func (e *edged) syncPod() {
model.QueryOperation)
e.context.Send(metamanager.MetaManagerModuleName, *info)
for {
- if request, err := e.context.Receive(e.Name()); err == nil {
- _, resType, resID, err := util.ParseResourceEdge(request.GetResource(), request.GetOperation())
- op := request.GetOperation()
+ result, err := e.context.Receive(e.Name())
+ if err != nil {
+ klog.Errorf("failed to get pod")
+ continue
+ }
+
+ _, resType, resID, err := util.ParseResourceEdge(result.GetResource(), result.GetOperation())
+ if err != nil {
+ klog.Errorf("failed to parse the Resource: %v", err)
+ continue
+ }
+ op := result.GetOperation()
+
+ var content []byte
+
+ switch result.Content.(type) {
+ case []byte:
+ content = result.GetContent().([]byte)
+ default:
+ content, err = json.Marshal(result.Content)
if err != nil {
- klog.Errorf("failed to parse the Resource: %v", err)
+ klog.Errorf("marshal message content failed: %v", err)
continue
}
-
- var content []byte
-
- switch request.Content.(type) {
- case []byte:
- content = request.GetContent().([]byte)
- default:
- content, err = json.Marshal(request.Content)
+ }
+ klog.Infof("result content is %s", result.Content)
+ switch resType {
+ case model.ResourceTypePod:
+ if op == model.ResponseOperation && resID == "" && result.GetSource() == metamanager.MetaManagerModuleName {
+ err := e.handlePodListFromMetaManager(content)
if err != nil {
- klog.Errorf("marshal message content failed: %v", err)
+ klog.Errorf("handle podList failed: %v", err)
continue
}
- }
- klog.Infof("request content is %s", request.Content)
- switch resType {
- case model.ResourceTypePod:
- if op == model.ResponseOperation && resID == "" && request.GetSource() == metamanager.MetaManagerModuleName {
- err := e.handlePodListFromMetaManager(content)
- if err != nil {
- klog.Errorf("handle podList failed: %v", err)
- continue
- }
- e.setInitPodReady(true)
- } else if op == model.ResponseOperation && resID == "" && request.GetSource() == EdgeController {
- err := e.handlePodListFromEdgeController(content)
- if err != nil {
- klog.Errorf("handle controllerPodList failed: %v", err)
- continue
- }
- e.setInitPodReady(true)
- } else {
- err := e.handlePod(op, content)
- if err != nil {
- klog.Errorf("handle pod failed: %v", err)
- continue
- }
- }
- case model.ResourceTypeConfigmap:
- if op != model.ResponseOperation {
- err := e.handleConfigMap(op, content)
- if err != nil {
- klog.Errorf("handle configMap failed: %v", err)
- }
- } else {
- klog.Infof("skip to handle configMap with type response")
+ e.setInitPodReady(true)
+ } else if op == model.ResponseOperation && resID == "" && result.GetSource() == EdgeController {
+ err := e.handlePodListFromEdgeController(content)
+ if err != nil {
+ klog.Errorf("handle controllerPodList failed: %v", err)
continue
}
- case model.ResourceTypeSecret:
- if op != model.ResponseOperation {
- err := e.handleSecret(op, content)
- if err != nil {
- klog.Errorf("handle secret failed: %v", err)
- }
- } else {
- klog.Infof("skip to handle secret with type response")
+ e.setInitPodReady(true)
+ } else {
+ err := e.handlePod(op, content)
+ if err != nil {
+ klog.Errorf("handle pod failed: %v", err)
continue
}
- case constants.CSIResourceTypeVolume:
- klog.Infof("volume operation type: %s", op)
- res, err := e.handleVolume(op, content)
+ }
+ case model.ResourceTypeConfigmap:
+ if op != model.ResponseOperation {
+ err := e.handleConfigMap(op, content)
if err != nil {
- klog.Errorf("handle volume failed: %v", err)
- } else {
- resp := request.NewRespByMessage(&request, res)
- e.context.SendResp(*resp)
+ klog.Errorf("handle configMap failed: %v", err)
}
- default:
- klog.Errorf("resType is not pod or configmap or secret: esType is %s", resType)
+ } else {
+ klog.Infof("skip to handle configMap with type response")
continue
}
-
- } else {
- klog.Errorf("failed to get pod")
+ case model.ResourceTypeSecret:
+ if op != model.ResponseOperation {
+ err := e.handleSecret(op, content)
+ if err != nil {
+ klog.Errorf("handle secret failed: %v", err)
+ }
+ } else {
+ klog.Infof("skip to handle secret with type response")
+ continue
+ }
+ case constants.CSIResourceTypeVolume:
+ klog.Infof("volume operation type: %s", op)
+ res, err := e.handleVolume(op, content)
+ if err != nil {
+ klog.Errorf("handle volume failed: %v", err)
+ } else {
+ resp := result.NewRespByMessage(&result, res)
+ e.context.SendResp(*resp)
+ }
+ default:
+ klog.Errorf("resType is not pod or configmap or secret: esType is %s", resType)
+ continue
}
}
}