diff options
| author | fisherxu <xufei40@huawei.com> | 2020-01-16 18:06:13 +0800 |
|---|---|---|
| committer | fisherxu <xufei40@huawei.com> | 2020-04-18 14:16:29 +0800 |
| commit | ab577693212aa70bb931e01523babe24904b3a74 (patch) | |
| tree | 9094a5dc3d365870a85c66ef3f7475bb035cad22 /edge | |
| parent | add deletion of pod in edged (diff) | |
| download | kubeedge-ab577693212aa70bb931e01523babe24904b3a74.tar.gz | |
add pod deletion in metamanager
Diffstat (limited to 'edge')
| -rw-r--r-- | edge/pkg/metamanager/client/metaclient.go | 5 | ||||
| -rw-r--r-- | edge/pkg/metamanager/client/pod.go | 25 | ||||
| -rw-r--r-- | edge/pkg/metamanager/process.go | 7 |
3 files changed, 30 insertions, 7 deletions
diff --git a/edge/pkg/metamanager/client/metaclient.go b/edge/pkg/metamanager/client/metaclient.go index 5d45ee0cc..b413b5004 100644 --- a/edge/pkg/metamanager/client/metaclient.go +++ b/edge/pkg/metamanager/client/metaclient.go @@ -100,6 +100,7 @@ func New() CoreInterface { //SendInterface is to sync interface type SendInterface interface { SendSync(message *model.Message) (*model.Message, error) + Send(message *model.Message) } type send struct { @@ -129,3 +130,7 @@ func (s *send) SendSync(message *model.Message) (*model.Message, error) { }) return &resp, err } + +func (s *send) Send(message *model.Message) { + beehiveContext.Send(metamanager.MetaManagerModuleName, *message) +} diff --git a/edge/pkg/metamanager/client/pod.go b/edge/pkg/metamanager/client/pod.go index c8c6b124e..1a5444d10 100644 --- a/edge/pkg/metamanager/client/pod.go +++ b/edge/pkg/metamanager/client/pod.go @@ -1,6 +1,14 @@ package client -import api "k8s.io/api/core/v1" +import ( + "fmt" + + corev1 "k8s.io/api/core/v1" + + "github.com/kubeedge/beehive/pkg/core/model" + "github.com/kubeedge/kubeedge/edge/pkg/common/message" + "github.com/kubeedge/kubeedge/edge/pkg/common/modules" +) //PodsGetter is interface to get pods type PodsGetter interface { @@ -9,10 +17,10 @@ type PodsGetter interface { //PodsInterface is pod interface type PodsInterface interface { - Create(*api.Pod) (*api.Pod, error) - Update(*api.Pod) error + Create(*corev1.Pod) (*corev1.Pod, error) + Update(*corev1.Pod) error Delete(name string) error - Get(name string) (*api.Pod, error) + Get(name string) (*corev1.Pod, error) } type pods struct { @@ -27,18 +35,21 @@ func newPods(namespace string, s SendInterface) *pods { } } -func (c *pods) Create(cm *api.Pod) (*api.Pod, error) { +func (c *pods) Create(cm *corev1.Pod) (*corev1.Pod, error) { return nil, nil } -func (c *pods) Update(cm *api.Pod) error { +func (c *pods) Update(cm *corev1.Pod) error { return nil } func (c *pods) Delete(name string) error { + resource := fmt.Sprintf("%s/%s/%s", c.namespace, model.ResourceTypePod, name) + podDeleteMsg := message.BuildMsg(modules.MetaGroup, "", modules.EdgedModuleName, resource, model.DeleteOperation, nil) + c.send.Send(podDeleteMsg) return nil } -func (c *pods) Get(name string) (*api.Pod, error) { +func (c *pods) Get(name string) (*corev1.Pod, error) { return nil, nil } diff --git a/edge/pkg/metamanager/process.go b/edge/pkg/metamanager/process.go index 8cabaf359..cd8b303b8 100644 --- a/edge/pkg/metamanager/process.go +++ b/edge/pkg/metamanager/process.go @@ -392,12 +392,19 @@ func (m *metaManager) processDelete(message model.Message) { sendToCloud(resp) return } + if resType == constants.ResourceTypeListener { // Notify edgemesh only resp := message.NewRespByMessage(&message, OK) sendToEdgeMesh(resp, true) return } + + if resType == model.ResourceTypePod && message.GetSource() == modules.EdgedModuleName { + sendToCloud(&message) + return + } + // Notify edged sendToEdged(&message, false) resp := message.NewRespByMessage(&message, OK) |
