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:
parent
92a9f3a212
commit
20bceb787d
|
|
@ -765,7 +765,7 @@ func (c *Container) cleanupCgroups() error {
|
||||||
func (c *Container) cleanupNetwork() error {
|
func (c *Container) cleanupNetwork() error {
|
||||||
// Stop the container's network namespace (if it has one)
|
// Stop the container's network namespace (if it has one)
|
||||||
if err := c.runtime.teardownNetNS(c); err != nil {
|
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
|
c.state.NetNS = nil
|
||||||
|
|
|
||||||
|
|
@ -465,7 +465,7 @@ func (r *OCIRuntime) updateContainerStatus(ctr *Container) error {
|
||||||
}
|
}
|
||||||
statusCode, err := strconv.Atoi(string(statusCodeStr))
|
statusCode, err := strconv.Atoi(string(statusCodeStr))
|
||||||
if err != nil {
|
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.ID())
|
||||||
}
|
}
|
||||||
ctr.state.ExitCode = int32(statusCode)
|
ctr.state.ExitCode = int32(statusCode)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
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)
|
// Clean up network namespace, cgroups, mounts
|
||||||
if err := c.cleanupCgroups(); err != nil {
|
if err := c.cleanup(); err != nil {
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stop the container's network namespace (if it has one)
|
|
||||||
if err := r.teardownNetNS(c); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -160,8 +160,8 @@ func (r *Runtime) RemovePod(p *Pod, removeCtrs, force bool) error {
|
||||||
// We can remove containers even if they have dependencies now
|
// We can remove containers even if they have dependencies now
|
||||||
// As we have guaranteed their dependencies are in the pod
|
// As we have guaranteed their dependencies are in the pod
|
||||||
for _, ctr := range ctrs {
|
for _, ctr := range ctrs {
|
||||||
// Stop network NS
|
// Clean up network namespace, cgroups, mounts
|
||||||
if err := r.teardownNetNS(ctr); err != nil {
|
if err := ctr.cleanup(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue