Merge pull request #44399 from corhere/fix-task-delete-on-failed-start
Fix containerd task deletion after failed start
This commit is contained in:
commit
2a478f9215
2 changed files with 4 additions and 2 deletions
|
@ -233,7 +233,9 @@ func (c *container) Start(ctx context.Context, checkpointDir string, withStdin b
|
|||
stdinCloseSync <- t
|
||||
|
||||
if err := t.Start(ctx); err != nil {
|
||||
if _, err := t.Delete(ctx); err != nil {
|
||||
// Only Stopped tasks can be deleted. Created tasks have to be
|
||||
// killed first, to transition them to Stopped.
|
||||
if _, err := t.Delete(ctx, containerd.WithProcessKill); err != nil {
|
||||
c.client.logger.WithError(err).WithField("container", c.c8dCtr.ID()).
|
||||
Error("failed to delete task after fail start")
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ type c8dPlugin struct {
|
|||
// deleteTaskAndContainer deletes plugin task and then plugin container from containerd
|
||||
func (p c8dPlugin) deleteTaskAndContainer(ctx context.Context) {
|
||||
if p.tsk != nil {
|
||||
if _, err := p.tsk.Delete(ctx); err != nil && !errdefs.IsNotFound(err) {
|
||||
if err := p.tsk.ForceDelete(ctx); err != nil && !errdefs.IsNotFound(err) {
|
||||
p.log.WithError(err).Error("failed to delete plugin task from containerd")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue