Restarting nova_libvirt container does not clean up pid files

Solution In Progress - Updated -

Issue

  • Following an overcloud deploy on an already deployed stack, nova_libvirt fails to come up. This is what is described in BZ.

  • nova_libvirt refuses to start with:

# tail /var/log/containers/libvirt/libvirtd.log
2022-04-07 22:31:12.267+0000: 395157: info : libvirt version: 7.0.0, package: 14.6.module+el8.4.0+13801+378af433 (Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>, 2022-01-10-10:42:14, )
2022-04-07 22:31:12.267+0000: 395157: info : hostname: overcloud-compute-0
2022-04-07 22:31:12.267+0000: 395157: error : virPidFileAcquirePath:369 : Failed to acquire pid file '/run/libvirtd.pid': Resource temporarily unavailable

# systemctl status tripleo_nova_libvirt.service
● tripleo_nova_libvirt.service - nova_libvirt container
   Loaded: loaded (/etc/systemd/system/tripleo_nova_libvirt.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2022-04-08 00:31:12 CEST; 5h 48min ago
  Process: 395229 ExecStopPost=/usr/bin/podman stop -t 10 nova_libvirt (code=exited, status=0/SUCCESS)
  Process: 395073 ExecStart=/usr/libexec/tripleo-start-podman-container nova_libvirt (code=exited, status=1/FAILURE)
 Main PID: 393879 (code=exited, status=1/FAILURE)

Apr 08 00:31:12 overcloud-compute-0 systemd[1]: tripleo_nova_libvirt.service: Service RestartSec=100ms expired, scheduling restart.
Apr 08 00:31:12 overcloud-compute-0 systemd[1]: tripleo_nova_libvirt.service: Scheduled restart job, restart counter is at 695.
Apr 08 00:31:12 overcloud-compute-0 systemd[1]: Stopped nova_libvirt container.
Apr 08 00:31:12 overcloud-compute-0 systemd[1]: tripleo_nova_libvirt.service: Start request repeated too quickly.
Apr 08 00:31:12 overcloud-compute-0 systemd[1]: tripleo_nova_libvirt.service: Failed with result 'exit-code'.
Apr 08 00:31:12 overcloud-compute-0 systemd[1]: Failed to start nova_libvirt container.
  • The bz was closed as not a bug. However we note that tripleo itself does not seem to respect the comment on the bz:
>  Restarting containers with podman is not supported

Apr 07 16:37:35 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG: podman stop nova_libvirt
Apr 07 16:37:35 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG STDOUT: 2baf123a2375c9fa3c2d6cc6b5bf2c2ba18c8b218192d82d01c433f019049156
Apr 07 16:37:35 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG STDERR: time="2022-04-07T16:37:35+02:00" level=warning msg="lstat /sys/fs/cgroup/devices/machine.slice/libpod-2baf123a2375c9fa3c2d6cc6b5bf2>
                                                                  time="2022-04-07T16:37:35+02:00" level=error msg="Failed to remove paths: map[cpuset:/sys/fs/cgroup/cpuset/machine.slice/libpod-2baf123a2375c9fa3c2d6cc6b5bf2c2ba1>
Apr 07 16:37:35 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG RC: 0
Apr 07 16:37:35 overcloud-compute-0 podman[977361]: 2022-04-07 16:37:35.934838379 +0200 CEST m=+0.094436575 container cleanup 2baf123a2375c9fa3c2d6cc6b5bf2c2ba18c8b218192d82d01c433f019049156 (image=undercloud.ctlplane.localdomain.>
Apr 07 16:37:35 overcloud-compute-0 podman[977361]: 2baf123a2375c9fa3c2d6cc6b5bf2c2ba18c8b218192d82d01c433f019049156
Apr 07 16:37:36 overcloud-compute-0 podman[977358]: 2022-04-07 16:37:36.004782073 +0200 CEST m=+0.180680392 container remove 2baf123a2375c9fa3c2d6cc6b5bf2c2ba18c8b218192d82d01c433f019049156 (image=undercloud.ctlplane.localdomain>
Apr 07 16:37:36 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG: podman rm -f nova_libvirt
Apr 07 16:37:36 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG STDOUT: 2baf123a2375c9fa3c2d6cc6b5bf2c2ba18c8b218192d82d01c433f019049156
Apr 07 16:37:36 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG STDERR:
Apr 07 16:37:36 overcloud-compute-0 ansible-podman_container[977083]: PODMAN-CONTAINER-DEBUG RC: 0
Apr 07 16:37:36 overcloud-compute-0 podman[977451]: Error: no container with name or ID nova_libvirt found: no such container
  • As a result, nova_libvirt is not running.

Environment

  • Red Hat OpenStack Platform 16.2 (RHOSP)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content