From a578730a94384a839e24097606d59cdaf76a59e5 Mon Sep 17 00:00:00 2001 From: Kenfe-Mickael Laventure Date: Tue, 18 Jul 2017 13:47:28 +0200 Subject: [PATCH 1/3] Update linux events topic This also remove the duplicate events for Task{Create,Start,Delete} Signed-off-by: Kenfe-Mickael Laventure --- linux/shim/service.go | 18 +++++++++--------- services/tasks/service.go | 20 -------------------- 2 files changed, 9 insertions(+), 29 deletions(-) diff --git a/linux/shim/service.go b/linux/shim/service.go index b91bfff7e..3ba0268b2 100644 --- a/linux/shim/service.go +++ b/linux/shim/service.go @@ -404,23 +404,23 @@ func (s *Service) forward(client poster) { func getTopic(e interface{}) string { switch e.(type) { case *events.TaskCreate: - return "task-create" + return "/tasks/create" case *events.TaskStart: - return "task-start" + return "/tasks/start" case *events.TaskOOM: - return "task-oom" + return "/tasks/oom" case *events.TaskExit: - return "task-exit" + return "/tasks/exit" case *events.TaskDelete: - return "task-delete" + return "/tasks/delete" case *events.TaskExecAdded: - return "task-exec-added" + return "/tasks/exec-added" case *events.TaskPaused: - return "task-paused" + return "/tasks/paused" case *events.TaskResumed: - return "task-resumed" + return "/tasks/resumed" case *events.TaskCheckpointed: - return "task-checkpointed" + return "/tasks/checkpointed" } return "?" } diff --git a/services/tasks/service.go b/services/tasks/service.go index 81bd61910..70ca0e6dd 100644 --- a/services/tasks/service.go +++ b/services/tasks/service.go @@ -9,7 +9,6 @@ import ( "path/filepath" "github.com/boltdb/bolt" - eventsapi "github.com/containerd/containerd/api/services/events/v1" api "github.com/containerd/containerd/api/services/tasks/v1" "github.com/containerd/containerd/api/types" "github.com/containerd/containerd/api/types/task" @@ -148,12 +147,6 @@ func (s *Service) Create(ctx context.Context, r *api.CreateTaskRequest) (*api.Cr log.G(ctx).Error(err) } - if err := s.emit(ctx, "/tasks/create", &eventsapi.TaskCreate{ - ContainerID: r.ContainerID, - }); err != nil { - return nil, err - } - return &api.CreateTaskResponse{ ContainerID: r.ContainerID, Pid: state.Pid, @@ -169,12 +162,6 @@ func (s *Service) Start(ctx context.Context, r *api.StartTaskRequest) (*google_p return nil, err } - if err := s.emit(ctx, "/tasks/start", &eventsapi.TaskStart{ - ContainerID: r.ContainerID, - }); err != nil { - return nil, err - } - return empty, nil } @@ -191,13 +178,6 @@ func (s *Service) Delete(ctx context.Context, r *api.DeleteTaskRequest) (*api.De if err != nil { return nil, err } - if err := s.emit(ctx, "/tasks/delete", &eventsapi.TaskDelete{ - ContainerID: r.ContainerID, - Pid: exit.Pid, - ExitStatus: exit.Status, - }); err != nil { - return nil, err - } return &api.DeleteResponse{ ExitStatus: exit.Status, ExitedAt: exit.Timestamp, From e4beb7c554e4f5fd45f73f16b3cc1bd350a27a76 Mon Sep 17 00:00:00 2001 From: Kenfe-Mickael Laventure Date: Tue, 18 Jul 2017 14:19:48 +0200 Subject: [PATCH 2/3] Use constants for runtime event topics Signed-off-by: Kenfe-Mickael Laventure --- linux/shim/service.go | 19 ++++++++++--------- runtime/events.go | 13 +++++++++++++ 2 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 runtime/events.go diff --git a/linux/shim/service.go b/linux/shim/service.go index 3ba0268b2..f60eb9df9 100644 --- a/linux/shim/service.go +++ b/linux/shim/service.go @@ -20,6 +20,7 @@ import ( "github.com/containerd/containerd/log" "github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/reaper" + "github.com/containerd/containerd/runtime" "github.com/containerd/containerd/typeurl" google_protobuf "github.com/golang/protobuf/ptypes/empty" "github.com/pkg/errors" @@ -404,23 +405,23 @@ func (s *Service) forward(client poster) { func getTopic(e interface{}) string { switch e.(type) { case *events.TaskCreate: - return "/tasks/create" + return runtime.TaskCreateEventTopic case *events.TaskStart: - return "/tasks/start" + return runtime.TaskStartEventTopic case *events.TaskOOM: - return "/tasks/oom" + return runtime.TaskOOMEventTopic case *events.TaskExit: - return "/tasks/exit" + return runtime.TaskExitEventTopic case *events.TaskDelete: - return "/tasks/delete" + return runtime.TaskDeleteEventTopic case *events.TaskExecAdded: - return "/tasks/exec-added" + return runtime.TaskExecAddedEventTopic case *events.TaskPaused: - return "/tasks/paused" + return runtime.TaskPausedEventTopic case *events.TaskResumed: - return "/tasks/resumed" + return runtime.TaskResumedEventTopic case *events.TaskCheckpointed: - return "/tasks/checkpointed" + return runtime.TaskCheckpointedEventTopic } return "?" } diff --git a/runtime/events.go b/runtime/events.go new file mode 100644 index 000000000..2c7a54174 --- /dev/null +++ b/runtime/events.go @@ -0,0 +1,13 @@ +package runtime + +const ( + TaskCreateEventTopic = "/tasks/create" + TaskStartEventTopic = "/tasks/start" + TaskOOMEventTopic = "/tasks/oom" + TaskExitEventTopic = "/tasks/exit" + TaskDeleteEventTopic = "/tasks/delete" + TaskExecAddedEventTopic = "/tasks/exec-added" + TaskPausedEventTopic = "/tasks/paused" + TaskResumedEventTopic = "/tasks/resumed" + TaskCheckpointedEventTopic = "/tasks/checkpointed" +) From 1ecb2ea30da2bf3bccd13ce25f92b3c2d1a4ee8f Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Tue, 18 Jul 2017 18:19:25 -0700 Subject: [PATCH 3/3] linux/shim: remove redundant topic prefix Signed-off-by: Stephen J Day --- linux/shim/service.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/shim/service.go b/linux/shim/service.go index f60eb9df9..419efb219 100644 --- a/linux/shim/service.go +++ b/linux/shim/service.go @@ -393,7 +393,7 @@ func (s *Service) forward(client poster) { if _, err := client.Post(s.context, &events.PostEventRequest{ Envelope: &events.Envelope{ Timestamp: time.Now(), - Topic: "/task/" + getTopic(e), + Topic: getTopic(e), Event: a, }, }); err != nil {