Use container cleanup() functions when removing

Instead of manually calling the individual functions that cleanup
uses to tear down a container's resources, just call the cleanup
function to make sure that cleanup only needs to happen in one
place.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #790
Approved by: rhatdan
This commit is contained in:
Matthew Heon 2018-05-17 09:37:53 -04:00 committed by Atomic Bot
parent 92a9f3a212
commit 20bceb787d
4 changed files with 6 additions and 11 deletions

View File

@ -765,7 +765,7 @@ func (c *Container) cleanupCgroups() error {
func (c *Container) cleanupNetwork() error {
// Stop the container's network namespace (if it has one)
if err := c.runtime.teardownNetNS(c); err != nil {
logrus.Errorf("unable cleanup network for container %s: %q", c.ID(), err)
logrus.Errorf("unable to cleanup network for container %s: %q", c.ID(), err)
}
c.state.NetNS = nil

View File

@ -465,7 +465,7 @@ func (r *OCIRuntime) updateContainerStatus(ctr *Container) error {
}
statusCode, err := strconv.Atoi(string(statusCodeStr))
if err != nil {
return errors.Wrapf(err, "error convertaing exit status code for container %s to int",
return errors.Wrapf(err, "error converting exit status code for container %s to int",
ctr.ID())
}
ctr.state.ExitCode = int32(statusCode)

View File

@ -219,13 +219,8 @@ func (r *Runtime) removeContainer(c *Container, force bool) error {
return errors.Wrapf(ErrCtrExists, "container %s has dependent containers which must be removed before it: %s", c.ID(), depsStr)
}
// Tear down the container's cgroups (if they exist)
if err := c.cleanupCgroups(); err != nil {
return err
}
// Stop the container's network namespace (if it has one)
if err := r.teardownNetNS(c); err != nil {
// Clean up network namespace, cgroups, mounts
if err := c.cleanup(); err != nil {
return err
}

View File

@ -160,8 +160,8 @@ func (r *Runtime) RemovePod(p *Pod, removeCtrs, force bool) error {
// We can remove containers even if they have dependencies now
// As we have guaranteed their dependencies are in the pod
for _, ctr := range ctrs {
// Stop network NS
if err := r.teardownNetNS(ctr); err != nil {
// Clean up network namespace, cgroups, mounts
if err := ctr.cleanup(); err != nil {
return err
}