core-extra/daemon/core/netns
Gabriel Somlo a5ae485fa6 SimpleLxcNode: Don't umount directories before killing vnoded
A node's private mounts are currently removed before killing
vnoded, which makes them unavailable during container service
shutdown. Any such service accessing the filesystem for atexit()
cleanup (e.g., rsyslogd), will do so on the host filesystem
instead, very likely causing unintended damage.

For example, the default behavior of rsyslogd is to remove its
listening socket (/dev/log, or /run/systemd/journal/dev-log) at
shutdown from its atexit() handler. If the node's private '/dev'
or '/run/systemd/journal' mount has already been removed, the
host-side /dev/log or /run/systemd/journal/dev-log sockets will
be removed instead!

Since non-persistent (mount) namespaces are automatically
destroyed by the kernel when the last process referencing them
is killed, we should simply rely on that behavior instead of
explicitly (and prematurely) unmounting a node's private
directories during shutdown.

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-10-09 20:53:38 -04:00
..
__init__.py initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00
nodes.py attempt to fix missing updates for sdt, moved broker specific code to broker 2017-08-07 15:37:41 -07:00
openvswitch.py fixed typo in bridge name for ovs 2017-10-03 11:38:58 -07:00
vif.py switched to making use of logzero for logging, provides nicer color output, and an easier path to switch to rotating log files 2017-08-07 11:58:51 -07:00
vnet.py switched to making use of logzero for logging, provides nicer color output, and an easier path to switch to rotating log files 2017-08-07 11:58:51 -07:00
vnode.py SimpleLxcNode: Don't umount directories before killing vnoded 2017-10-09 20:53:38 -04:00
vnodeclient.py switched to making use of logzero for logging, provides nicer color output, and an easier path to switch to rotating log files 2017-08-07 11:58:51 -07:00