Merge pull request #5813 from mxpv/shim_cleanup

Cleanup v2 shim
This commit is contained in:
Phil Estes
2021-08-11 11:47:47 -04:00
committed by GitHub
8 changed files with 107 additions and 67 deletions

View File

@@ -220,9 +220,13 @@ func (l *local) Create(ctx context.Context, r *api.CreateTaskRequest, _ ...grpc.
if err := l.monitor.Monitor(c, labels); err != nil {
return nil, errors.Wrap(err, "monitor task")
}
pid, err := c.PID(ctx)
if err != nil {
return nil, errors.Wrap(err, "failed to get task pid")
}
return &api.CreateTaskResponse{
ContainerID: r.ContainerID,
Pid: c.PID(),
Pid: pid,
}, nil
}
@@ -250,17 +254,32 @@ func (l *local) Start(ctx context.Context, r *api.StartRequest, _ ...grpc.CallOp
}
func (l *local) Delete(ctx context.Context, r *api.DeleteTaskRequest, _ ...grpc.CallOption) (*api.DeleteResponse, error) {
t, err := l.getTask(ctx, r.ContainerID)
container, err := l.getContainer(ctx, r.ContainerID)
if err != nil {
return nil, err
}
// Find runtime manager
rtime, err := l.getRuntime(container.Runtime.Name)
if err != nil {
return nil, err
}
// Get task object
t, err := rtime.Get(ctx, container.ID)
if err != nil {
return nil, status.Errorf(codes.NotFound, "task %v not found", container.ID)
}
if err := l.monitor.Stop(t); err != nil {
return nil, err
}
exit, err := t.Delete(ctx)
exit, err := rtime.Delete(ctx, r.ContainerID)
if err != nil {
return nil, errdefs.ToGRPC(err)
}
return &api.DeleteResponse{
ExitStatus: exit.Status,
ExitedAt: exit.Timestamp,