[Pkg-libvirt-maintainers] Bug#991773: libvirt-daemon-driver-lxc: container reboot done from inside or outside container shuts container down

Alexis Huxley alexishuxley at gmail.com
Sun Aug 1 15:37:13 BST 2021


Package: libvirt-daemon-driver-lxc
Version: 7.0.0-3
Severity: normal

Dear Maintainer,

A Debian 11 RC2 container running on a Debian 11 RC2 hosts responds
to the reboot command by shutting down services and then powering
off, *not* by rebooting, which is what I would expect.

This applies regardless of whether I:

* run 'reboot' inside the container
* run 'virsh reboot' on the host
* run 'kill -SIGINT 1' inside the container

This is consistently reproducible.

Here's output from trying it with 'virsh reboot', as it's the
most copy-and-paste-able:

	pestaroli# export LIBVIRT_DEFAULT_URI=lxc:///
	pestaroli# virsh list --all
	 Id   Name      State
	--------------------------
	 -    mafalde   shut off
	
	pestaroli# virsh start mafalde
	Domain 'mafalde' started
	
	pestaroli# virsh list --all
	 Id       Name      State
	-----------------------------
	 467946   mafalde   running
	
	pestaroli# virsh reboot mafalde
	Domain 'mafalde' is being rebooted
	
	pestaroli# virsh list --all
	 Id   Name      State
	--------------------------
	 -    mafalde   shut off       <-------------- should be 'running'!
	
	pestaroli# 

I am submitting this bug report against the libvirt-daemon-driver-lxc
package because /usr/lib/libvirt/libvirt_lxc is the parent of the
container's init process:

	root      468678  0.0  0.4 355008 17096 ?        Sl   15:26   0:00 /usr/lib/libvirt/libvirt_lxc --name mafalde --console 30 --security=apparmor --handshake 34 --veth vnet77
	100000    468681  0.7  0.2  99948 10008 ?        Ss   15:26   0:00  \_ /sbin/init
	100000    468713  0.3  0.3  31932 13016 ?        Ss   15:26   0:00      \_ /lib/systemd/systemd-journald
	100105    468770  0.1  0.1   7952  4332 ?        Ss   15:26   0:00      \_ /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
	
but it might well be that the bug is in another package (I think
you are more qualified to judge that than I am), so please reassign
if you think appropriate.  In case it is relevant, here are the
lxc/libvirt/systemd packages installed on the host:

	pestaroli# dpkg -l | egrep '(lxc|libvirt|systemd)'
	ii  liblxc1:amd64                        1:4.0.6-2                      amd64        Linux Containers userspace tools (library)
	ii  libnss-systemd:amd64                 247.3-6                        amd64        nss module providing dynamic user and group name resolution
	ii  libpam-systemd:amd64                 247.3-6                        amd64        system and service manager - PAM module
	ii  libsystemd0:amd64                    247.3-6                        amd64        systemd utility library
	ii  libvirt-clients                      7.0.0-3                        amd64        Programs for the libvirt library
	ii  libvirt-daemon                       7.0.0-3                        amd64        Virtualization daemon
	ii  libvirt-daemon-config-network        7.0.0-3                        all          Libvirt daemon configuration files (default network)
	ii  libvirt-daemon-config-nwfilter       7.0.0-3                        all          Libvirt daemon configuration files (default network filters)
	ii  libvirt-daemon-driver-lxc            7.0.0-3                        amd64        Virtualization daemon LXC connection driver
	ii  libvirt-daemon-driver-qemu           7.0.0-3                        amd64        Virtualization daemon QEMU connection driver
	ii  libvirt-daemon-system                7.0.0-3                        amd64        Libvirt daemon configuration files
	ii  libvirt-daemon-system-systemd        7.0.0-3                        all          Libvirt daemon configuration files (systemd)
	ii  libvirt0:amd64                       7.0.0-3                        amd64        library for interfacing with different virtualization systems
	ii  lxc                                  1:4.0.6-2                      amd64        Linux Containers userspace tools
	ii  lxc-templates                        3.0.4-5                        amd64        Linux Containers userspace tools (templates)
	ii  lxcfs                                4.0.7-1                        amd64        FUSE based filesystem for LXC
	ii  systemd                              247.3-6                        amd64        system and service manager
	ii  systemd-container                    247.3-6                        amd64        systemd container/nspawn tools
	ii  systemd-sysv                         247.3-6                        amd64        system and service manager - SysV links
	pestaroli# 

and here is the container's XML:

	pestaroli# virsh dumpxml mafalde 
	<domain type='lxc'>
	  <name>mafalde</name>
	  <uuid>8489584a-c8f3-4dc7-a163-2b0e20eba7da</uuid>
	  <memory unit='KiB'>1048576</memory>
	  <currentMemory unit='KiB'>1048576</currentMemory>
	  <vcpu placement='static'>1</vcpu>
	  <resource>
	    <partition>/machine</partition>
	  </resource>
	  <os>
	    <type arch='x86_64'>exe</type>
	    <init>/sbin/init</init>
	  </os>
	  <idmap>
	    <uid start='0' target='100000' count='65536'/>
	    <gid start='0' target='100000' count='65536'/>
	  </idmap>
	  <features>
	    <privnet/>
	  </features>
	  <clock offset='utc'/>
	  <on_poweroff>destroy</on_poweroff>
	  <on_reboot>restart</on_reboot>
	  <on_crash>destroy</on_crash>
	  <devices>
	    <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
	    <filesystem type='mount' accessmode='mapped'>
	      <source dir='/var/lib/libvirt/mountpoints/mafalde/root'/>
	      <target dir='/'/>
	    </filesystem>
	    <interface type='bridge'>
	      <mac address='00:16:3e:c4:bc:69'/>
	      <source bridge='br0'/>
	    </interface>
	    <console type='pty'>
	      <target type='lxc' port='0'/>
	    </console>
	  </devices>
	</domain>
	
	pestaroli# 

For comparison:

A Debian 11 RC2 container running on a Debian 10.10 host responds
to the reboot command by shutting down services and then hangs
(I waited about 10 minutes) without turning off with the last message:

	[  OK  ] Reached target Reboot.

A Debian 10.10 container running on a Debian 10.10 hosts responds
to the reboot command by shutting down services and then hangs
(I waited about 10 minutes) without turning off with the last messages:

	[  OK  ] Reached target Reboot.
	logout

If you need more info or have packages you'd like me to test, then
just let me know. 

Thanks for your support,

Alexis

PS standard '-- System Information' section of this reportbug-based
   report deleted as it pertains to the host I am submitting the 
   report from, not the host on which the bug was seen.



More information about the Pkg-libvirt-maintainers mailing list