diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-02-08 13:35:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-08 13:35:43 -0500 |
commit | 5529143877778ef8bcdd05179e279bb7d662b431 (patch) | |
tree | 6f95d2a9c3832b1e00f04d30045d11f0fb37425f /libpod/container_internal.go | |
parent | 2a58bdc89d5646de62b358622275a25a8bb09a3f (diff) | |
parent | 3921f10a729054c23296f392b0f271c1ac5e5770 (diff) | |
download | podman-5529143877778ef8bcdd05179e279bb7d662b431.tar.gz podman-5529143877778ef8bcdd05179e279bb7d662b431.tar.bz2 podman-5529143877778ef8bcdd05179e279bb7d662b431.zip |
Merge pull request #302 from rhatdan/cleanup
cleanup network stack as well as storage when container shuts down.
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 77e456fe1..d434630a3 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -365,6 +365,19 @@ func (c *Container) mountStorage() (err error) { return c.save() } +// cleanupNetwork unmounts and cleans up the container's network +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) + } + + c.state.NetNS = nil + c.state.SubnetMask = "" + c.state.IPAddress = "" + return c.save() +} + // cleanupStorage unmounts and cleans up the container's root filesystem func (c *Container) cleanupStorage() error { if !c.state.Mounted { |