Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 664902 - app-emulation/libvirt-4.6.0-r1: complains about user tss not existing when starting
Summary: app-emulation/libvirt-4.6.0-r1: complains about user tss not existing when st...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Matthias Maier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-30 18:50 UTC by Renich Bon Ciric
Modified: 2020-04-18 19:09 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Renich Bon Ciric 2018-08-30 18:50:31 UTC
A quick look at the logs when libvirt is starting shows:

introdesk ~ # systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/libvirtd.service.d
           └─00gentoo.conf
   Active: active (running) since Thu 2018-08-30 13:45:27 CDT; 3min 17s ago
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 19954 (libvirtd)
    Tasks: 25 (limit: 32768)
   Memory: 80.8M
   CGroup: /system.slice/libvirtd.service
           ├─ 2917 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/minikube-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 2919 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/minikube-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3006 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3007 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3064 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/private.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3065 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/private.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3108 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           ├─ 3109 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           └─19954 /usr/sbin/libvirtd

Aug 30 13:45:28 introdesk.g02.org dnsmasq[2917]: read /etc/hosts - 38 addresses
Aug 30 13:45:28 introdesk.g02.org dnsmasq[2917]: read /var/lib/libvirt/dnsmasq/minikube-net.addnhosts - 0 addresses
Aug 30 13:45:28 introdesk.g02.org dnsmasq-dhcp[2917]: read /var/lib/libvirt/dnsmasq/minikube-net.hostsfile
Aug 30 13:45:28 introdesk.g02.org dnsmasq[3064]: read /etc/hosts - 38 addresses
Aug 30 13:45:28 introdesk.g02.org dnsmasq[3064]: read /var/lib/libvirt/dnsmasq/private.addnhosts - 0 addresses
Aug 30 13:45:28 introdesk.g02.org dnsmasq-dhcp[3064]: read /var/lib/libvirt/dnsmasq/private.hostsfile
Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: info : libvirt version: 4.6.0
Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: info : hostname: introdesk.g02.org
Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: error : virGetUserID:1043 : invalid argument: Failed to parse user 'tss'
Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: error : virGetGroupID:1123 : invalid argument: Failed to parse group 'tss'

When looking for a reference about this in the config files, I found: 

# /etc/libvirt/qemu.conf
...
# User for the swtpm TPM Emulator
#
# Default is 'tss'; this is the same user that tcsd (TrouSerS) installs
# and uses; alternative is 'root'
#
#swtpm_user = "tss"
#swtpm_group = "tss"

It seems trousers is needed for some functionality. Maybe include it in the dependencies or enable this by a USE flag?
Comment 1 Horst Prote 2019-02-05 15:11:22 UTC
Still the same symptom with app-emulation/libvirt-4.9.0
Comment 2 Matthias Maier gentoo-dev 2019-07-01 14:32:34 UTC
I fear that there is no good way of fixing this: (a) There seems to be no configuration option for tpm/trousers suppoert, (b) unconditionally depending on trousers is too invasise, (c) a use flag just to pull in an external dependency doesn't solve anything.
Comment 3 Michal Privoznik 2020-02-10 10:24:56 UTC
This is fixed with libvirt's upstream commit of:

  615106fb10 qemu: Fix virDoes*Exist usage

which is contained in the 4.10.0 release. Since the oldest release in portage is 5.2.0 this is fixed and can be closed.