[libvirt] lxc container stopped not each time
Michal Prívozník
mprivozn at redhat.com
Wed Mar 6 15:23:49 UTC 2019
On 3/5/19 5:01 PM, mxs kolo wrote:
> Hi all.
>
> I download ftp://libvirt.org/libvirt/libvirt-5.1.0.tar.xz and build
> rpms with lxc support.
> LXC containers can be started, but time to time can't be stopped.
> With option --mode initctl containers always stopped, but virsh reported error:
> "Container does not provide an initctl pipe"
> Inside container present /dev/initctl:
> # ls -la /dev/initctl
> lrwxrwxrwx 1 root root 25 Mar 5 18:40 /dev/initctl -> /run/systemd/initctl/fifo
>
> With option --mode signal, centos 7.5/7.6 systemd not stopped and
> rebooted, in containers log:
> systemd: Received SIGTERM.
> systemd: Reexecuting.
> systemd: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX
> +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS
> +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
> systemd: Detected virtualization lxc-libvirt.
> systemd: Detected architecture x86-64.
> Runlevel inside container before and after - is 5.
>
> Without option --mode container can stop, mostly when you in gdb
> step-by-step debug.
> But most often not, with simptoms as with --mode signal. Patch in
> attachment fix problem for my environment. Tested only with host
> centos 7.6 and guests centos 7.5/7.6
>
> Short comments on patch.
> lxcDomainShutdownFlags() return rc 0 and container begin stopped.
> We not go to endjob label, but later we pass check:
> if (rc == 0 &&
> (flags == 0 ||
> (flags & VIR_DOMAIN_SHUTDOWN_SIGNAL))) {
> and trying next shutdown method with sigterm to pid1.
> If container heavy loaded (or waiting in gdb for input), it not
> stopped. But if container small, first method with initctl stop
> container before second method would be call
>
The patch looks sane, can you please post it as regular patch so that I
can review it?
Thanks,
Michal
More information about the libvir-list
mailing list