diff --git a/virtcontainers/sandbox.go b/virtcontainers/sandbox.go index 353ad80480..28b1f8427a 100644 --- a/virtcontainers/sandbox.go +++ b/virtcontainers/sandbox.go @@ -1,4 +1,5 @@ // Copyright (c) 2016 Intel Corporation +// Copyright (c) 2020 Adobe Inc. // // SPDX-License-Identifier: Apache-2.0 // @@ -1166,6 +1167,16 @@ func (s *Sandbox) CreateContainer(contConfig ContainerConfig) (VCContainer, erro defer func() { // Rollback if error happens. if err != nil { + logger := s.Logger().WithFields(logrus.Fields{"container-id": c.id, "sandox-id": s.id, "rollback": true}) + + logger.Warning("Cleaning up partially created container") + + if err2 := c.stop(true); err2 != nil { + logger.WithError(err2).Warning("Could not delete container") + } + + logger.Debug("Removing stopped container from sandbox store") + s.removeContainer(c.id) } }()