Public bug reported:

While fixing bug 1948880 this created a harder dependency on swtpm than 
intended.
We can't yet depend on swtpm-tools (waiting for the MIR in 1948748).
But due to that on a Jammy install without swtpm libvirt will end up not 
starting.

That is due to the user swtpm being missing without the package swtpm-tools.
And without that the service fails like:

$ systemctl status libvirtd
× libvirtd.service - Virtualization daemon
     Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor 
preset: enabled)
     Active: failed (Result: start-limit-hit) since Tue 2021-11-23 14:21:58 
UTC; 21min ago
TriggeredBy: × libvirtd-ro.socket
             × libvirtd.socket
             × libvirtd-admin.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
    Process: 25147 ExecStart=/usr/sbin/libvirtd $libvirtd_opts (code=exited, 
status=0/SUCCESS)
   Main PID: 25147 (code=exited, status=0/SUCCESS)
      Tasks: 2 (limit: 32768)
     Memory: 7.4M
        CPU: 319ms
     CGroup: /system.slice/libvirtd.service
             ├─24164 /usr/sbin/dnsmasq 
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro 
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             └─24165 /usr/sbin/dnsmasq 
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro 
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper

Nov 23 14:21:58 testkvm-jammy-from libvirtd[25147]: Initialization of QEMU 
state driver failed: invalid argument: Failed to parse user 'swtpm'
Nov 23 14:21:58 testkvm-jammy-from libvirtd[25147]: Driver state initialization 
failed
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Deactivated 
successfully.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Unit process 
24164 (dnsmasq) remains running after unit stopped.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Unit process 
24165 (dnsmasq) remains running after unit stopped.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Start request 
repeated too quickly.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Failed with 
result 'start-limit-hit'.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Unit process 
24164 (dnsmasq) remains running after unit stopped.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: libvirtd.service: Unit process 
24165 (dnsmasq) remains running after unit stopped.
Nov 23 14:21:58 testkvm-jammy-from systemd[1]: Failed to start Virtualization 
daemon.

That breaks usage until swtpm-tools (or actually that user) is ready.
Then it would restart and/or install/upgrade fine.

The right solution options are:
- correctly express a Depends (not even a Recommends) as we depend on that user 
to be present
- create the user swtpm if not created by swtpm or anything else

The former would prevent removing swtpm for anyone that does not want to
use it.

The latter would kind of mess with a user from two packages.
But the latter would have the benefit of not entangling the packages too hard 
and to have a chance to complete before the swtpm MIR is done (which can take a 
while).

The option of a changing default depending on swtpm to be around on
install is even worse and not worth to consider further IMHO.

None seems perfect, I need to get a few opinions on this to avoid
reverting/changing this a few more times.

** Affects: libvirt (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1951975

Title:
  Broken in Jammy until we can depend on swtpm-tools

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1951975/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to