summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShelley-BaoYue <baoyue2@huawei.com>2023-02-22 10:38:17 +0800
committerShelley-BaoYue <baoyue2@huawei.com>2023-07-26 16:23:07 +0800
commitd53cd653f5c8d57de0784cb5af9c63f558ba92f5 (patch)
tree33fd9a858606f78dcc4ff31fce8711e8c36a8a87
parentMerge pull request #4873 from Shelley-BaoYue/cherrypick-1.13-4631 (diff)
downloadkubeedge-d53cd653f5c8d57de0784cb5af9c63f558ba92f5.tar.gz
fix error in delete pod
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
-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 07a133741..88a71cb45 100644
--- a/cloud/pkg/edgecontroller/controller/upstream.go
+++ b/cloud/pkg/edgecontroller/controller/upstream.go
@@ -1090,15 +1090,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 61ea60002..51fe24617 100644
--- a/edge/pkg/metamanager/client/pod.go
+++ b/edge/pkg/metamanager/client/pod.go
@@ -69,7 +69,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) {