diff options
| author | fisherxu <xufei40@huawei.com> | 2019-10-15 10:06:25 +0800 |
|---|---|---|
| committer | fisherxu <xufei40@huawei.com> | 2019-10-17 16:56:17 +0800 |
| commit | eaaa2ceabc1cbb92e447fae3d10691cc716e7ea6 (patch) | |
| tree | 20f75bdb05fa952a6d62f9e9f7d19fe4325ab0af /edge | |
| parent | Merge pull request #1199 from kevin-wangzefeng/fix-update-vendors (diff) | |
| download | kubeedge-eaaa2ceabc1cbb92e447fae3d10691cc716e7ea6.tar.gz | |
improvement for codebase
Diffstat (limited to 'edge')
| -rw-r--r-- | edge/pkg/edged/edged.go | 133 |
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 } } } |
