Merge pull request #7749 from hashicorp/b-docker-panic
driver/docker: protect against nil container
This commit is contained in:
commit
86aa8105b2
|
@ -3,6 +3,7 @@
|
|||
BUG FIXES:
|
||||
|
||||
* core: Fixed a bug that only ran a task `shutdown_delay` if the task had a registered service [[GH-7663](https://github.com/hashicorp/nomad/issues/7663)]
|
||||
* driver/docker: Fixed a bug where retrying failed docker creation may in rare cases trigger a panic [[GH-7749](https://github.com/hashicorp/nomad/issues/7749)]
|
||||
* vault: Upgrade http2 library to fix Vault API calls that fail with `http2: no cached connection was available` [[GH-7673](https://github.com/hashicorp/nomad/issues/7673)]
|
||||
|
||||
## 0.11.0 (April 8, 2020)
|
||||
|
|
|
@ -439,16 +439,21 @@ CREATE:
|
|||
return container, nil
|
||||
}
|
||||
|
||||
// Delete matching containers
|
||||
err = client.RemoveContainer(docker.RemoveContainerOptions{
|
||||
ID: container.ID,
|
||||
Force: true,
|
||||
})
|
||||
if err != nil {
|
||||
d.logger.Error("failed to purge container", "container_id", container.ID)
|
||||
return nil, recoverableErrTimeouts(fmt.Errorf("Failed to purge container %s: %s", container.ID, err))
|
||||
} else {
|
||||
d.logger.Info("purged container", "container_id", container.ID)
|
||||
// Purge conflicting container if found.
|
||||
// If container is nil here, the conflicting container was
|
||||
// deleted in our check here, so retry again.
|
||||
if container != nil {
|
||||
// Delete matching containers
|
||||
err = client.RemoveContainer(docker.RemoveContainerOptions{
|
||||
ID: container.ID,
|
||||
Force: true,
|
||||
})
|
||||
if err != nil {
|
||||
d.logger.Error("failed to purge container", "container_id", container.ID)
|
||||
return nil, recoverableErrTimeouts(fmt.Errorf("Failed to purge container %s: %s", container.ID, err))
|
||||
} else {
|
||||
d.logger.Info("purged container", "container_id", container.ID)
|
||||
}
|
||||
}
|
||||
|
||||
if attempted < 5 {
|
||||
|
|
Loading…
Reference in a new issue