summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2023-07-27 10:26:51 +0800
committerGitHub <noreply@github.com>2023-07-27 10:26:51 +0800
commitbc478b017240b02391cb83c8ee7905662cb1a1cb (patch)
tree09d271187b16af1dbd87f810d9d68e704dec94a4
parentMerge pull request #4874 from Shelley-BaoYue/automated-cherry-pick-of-#4814-u... (diff)
parentfix error in delete pod (diff)
downloadkubeedge-bc478b017240b02391cb83c8ee7905662cb1a1cb.tar.gz
Merge pull request #4877 from Shelley-BaoYue/automated-cherry-pick-of-#4612-upstream-release-1.14
Automated cherry pick of #4612: fix error in delete pod
-rw-r--r--cloud/pkg/edgecontroller/controller/upstream.go12
-rw-r--r--edge/pkg/metamanager/client/pod.go7
2 files changed, 14 insertions, 5 deletions
diff --git a/cloud/pkg/edgecontroller/controller/upstream.go b/cloud/pkg/edgecontroller/controller/upstream.go
index 338117bcc..8e38363a8 100644
--- a/cloud/pkg/edgecontroller/controller/upstream.go
+++ b/cloud/pkg/edgecontroller/controller/upstream.go
@@ -1084,15 +1084,19 @@ func (uc *UpstreamController) deletePod() {
}
}
+ var resMsg *model.Message
err = uc.kubeClient.CoreV1().Pods(namespace).Delete(context.Background(), name, deleteOptions)
if err != nil && !errors.IsNotFound(err) && !strings.Contains(err.Error(), "The object might have been deleted and then recreated") {
klog.Warningf("Failed to delete pod, namespace: %s, name: %s, err: %v", namespace, name, err)
- continue
+ resMsg = model.NewMessage(msg.GetID()).
+ FillBody(err).
+ BuildRouter(modules.EdgeControllerModuleName, constants.GroupResource, msg.GetResource(), model.ResponseOperation)
+ } else {
+ resMsg = model.NewMessage(msg.GetID()).
+ FillBody(common.MessageSuccessfulContent).
+ BuildRouter(modules.EdgeControllerModuleName, constants.GroupResource, msg.GetResource(), model.ResponseOperation)
}
- resMsg := model.NewMessage(msg.GetID()).
- FillBody(common.MessageSuccessfulContent).
- BuildRouter(modules.EdgeControllerModuleName, constants.GroupResource, msg.GetResource(), model.ResponseOperation)
if err = uc.messageLayer.Response(*resMsg); err != nil {
klog.Errorf("Message: %s process failure, response failed with error: %v", msg.GetID(), err)
continue
diff --git a/edge/pkg/metamanager/client/pod.go b/edge/pkg/metamanager/client/pod.go
index 6be8acacd..f0b3806eb 100644
--- a/edge/pkg/metamanager/client/pod.go
+++ b/edge/pkg/metamanager/client/pod.go
@@ -70,7 +70,12 @@ func (c *pods) Delete(name string, options metav1.DeleteOptions) error {
return nil
}
- return err
+ err, ok = msg.Content.(error)
+ if ok {
+ return err
+ }
+
+ return fmt.Errorf("delete pod failed, response content type unsupported")
}
func (c *pods) Get(name string) (*corev1.Pod, error) {