From 124194b98b6af6a24fe3f1425c91be0c0fe15c2f Mon Sep 17 00:00:00 2001 From: Ace-Tang Date: Fri, 19 Oct 2018 21:44:32 +0800 Subject: [PATCH] check task existence before new task make user know correct error when new task. Signed-off-by: Ace-Tang --- services/tasks/local.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/tasks/local.go b/services/tasks/local.go index 95d8eead2..773feeb4f 100644 --- a/services/tasks/local.go +++ b/services/tasks/local.go @@ -173,11 +173,14 @@ func (l *local) Create(ctx context.Context, r *api.CreateTaskRequest, _ ...grpc. Options: m.Options, }) } - runtime, err := l.getRuntime(container.Runtime.Name) + rtime, err := l.getRuntime(container.Runtime.Name) if err != nil { return nil, err } - c, err := runtime.Create(ctx, r.ContainerID, opts) + if _, err := rtime.Get(ctx, r.ContainerID); err != runtime.ErrTaskNotExists { + return nil, errdefs.ToGRPC(fmt.Errorf("task %s already exists", r.ContainerID)) + } + c, err := rtime.Create(ctx, r.ContainerID, opts) if err != nil { return nil, errdefs.ToGRPC(err) }