FS#44661 - [libvirt] libvirtd need kvm group to start as a service

Attached to Project: Community Packages
Opened by Tom Yan (tom.ty89) - Monday, 20 April 2015, 14:23 GMT
Last edited by Sergej Pupykin (sergej) - Tuesday, 21 April 2015, 12:58 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Without kvm group, libvirtd fail to start as a service. Although qemu package adds the group, it is only an optdep of libvirtd.

Additional info:
* package version(s) 1.2.14-2
* config and/or log files etc.


Steps to reproduce:
# groupdel kvm
# systemctl start libvirtd
This task depends upon

Closed by  Sergej Pupykin (sergej)
Tuesday, 21 April 2015, 12:58 GMT
Reason for closing:  Fixed
Additional comments about closing:  in svn/trunk only
Comment by Sergej Pupykin (sergej) - Tuesday, 21 April 2015, 11:05 GMT
cannot reproduce:

# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2015-04-21 14:02:34 MSK; 9s ago
Docs: man:libvirtd(8)
http://libvirt.org
Main PID: 8481 (libvirtd)
CGroup: /system.slice/libvirtd.service
└─8481 /usr/bin/libvirtd

Apr 21 14:02:33 pupykin systemd[1]: Starting Virtualization daemon...
Apr 21 14:02:34 pupykin systemd[1]: Started Virtualization daemon.
Apr 21 14:02:34 pupykin libvirtd[8481]: libvirt version: 1.2.14
Apr 21 14:02:34 pupykin libvirtd[8481]: operation failed: network 'default' already exists with uuid 9a77350d-45e9-48e...8749d0
Apr 21 14:02:34 pupykin libvirtd[8481]: direct firewall backend requested, but /sbin/ebtables is not available: No suc...ectory
Apr 21 14:02:34 pupykin libvirtd[8481]: out of memory
Apr 21 14:02:34 pupykin libvirtd[8481]: internal error: Failed to find path for dmidecode binary
Apr 21 14:02:40 pupykin libvirtd[8481]: internal error: Failed to find path for dmidecode binary
Hint: Some lines were ellipsized, use -l to show in full.


# getent group kvm
gives no output, group was removed before starting libvirtd
Comment by Tom Yan (tom.ty89) - Tuesday, 21 April 2015, 11:59 GMT
Now this is weird:

[tom@localhost ~]$ sudo systemctl start libvirtd
[tom@localhost ~]$ sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:libvirtd(8)
http://libvirt.org

Apr 21 19:54:33 localhost systemd[1]: Starting Virtualization daemon...
Apr 21 19:54:33 localhost systemd[1]: Started Virtualization daemon.
Apr 21 19:54:33 localhost libvirtd[680]: libvirt version: 1.2.14
Apr 21 19:54:33 localhost libvirtd[680]: Cannot check dnsmasq binary /sbin/dnsmasq: No such file or directory
Apr 21 19:54:33 localhost libvirtd[680]: direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
Apr 21 19:54:33 localhost libvirtd[680]: out of memory
Apr 21 19:54:33 localhost libvirtd[680]: internal error: Failed to find path for dmidecode binary
Apr 21 19:54:33 localhost libvirtd[680]: invalid argument: Failed to parse group 'kvm'
Apr 21 19:54:33 localhost libvirtd[680]: Initialization of QEMU state driver failed: invalid argument: Failed to parse group 'kvm'
Apr 21 19:54:33 localhost libvirtd[680]: Driver state initialization failed
[tom@localhost ~]$ sudo libvirtd
2015-04-21 11:54:46.433+0000: 709: info : libvirt version: 1.2.14
2015-04-21 11:54:46.433+0000: 709: error : dnsmasqCapsRefreshInternal:726 : Cannot check dnsmasq binary /sbin/dnsmasq: No such file or directory
2015-04-21 11:54:46.472+0000: 709: error : virFirewallValidateBackend:193 : direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
2015-04-21 11:54:46.472+0000: 709: error : virFirewallApply:936 : out of memory
2015-04-21 11:54:46.473+0000: 709: error : virSysinfoRead:836 : internal error: Failed to find path for dmidecode binary
2015-04-21 11:54:46.474+0000: 709: error : virGetGroupID:1034 : invalid argument: Failed to parse group 'kvm'
2015-04-21 11:54:46.474+0000: 709: error : virStateInitialize:783 : Initialization of QEMU state driver failed: invalid argument: Failed to parse group 'kvm'
2015-04-21 11:54:46.474+0000: 709: error : daemonRunStateInit:909 : Driver state initialization failed
[tom@localhost ~]$ sudo groupadd kvm -f -g 78
[tom@localhost ~]$ sudo libvirtd
2015-04-21 11:55:48.063+0000: 736: info : libvirt version: 1.2.14
2015-04-21 11:55:48.063+0000: 736: error : dnsmasqCapsRefreshInternal:726 : Cannot check dnsmasq binary /sbin/dnsmasq: No such file or directory
2015-04-21 11:55:48.100+0000: 736: error : virFirewallValidateBackend:193 : direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
2015-04-21 11:55:48.100+0000: 736: error : virFirewallApply:936 : out of memory
2015-04-21 11:55:48.101+0000: 736: error : virSysinfoRead:836 : internal error: Failed to find path for dmidecode binary
2015-04-21 11:55:48.169+0000: 736: error : virSysinfoRead:836 : internal error: Failed to find path for dmidecode binary
2015-04-21 11:55:48.749+0000: 736: error : virFirewallApply:936 : out of memory
^C[tom@localhost ~]$ sudo systemctl start libvirtd
[tom@localhost ~]$ sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2015-04-21 19:56:00 HKT; 3s ago
Docs: man:libvirtd(8)
http://libvirt.org
Main PID: 761 (libvirtd)
CGroup: /system.slice/libvirtd.service
└─761 /usr/bin/libvirtd

Apr 21 19:56:00 localhost systemd[1]: Starting Virtualization daemon...
Apr 21 19:56:00 localhost systemd[1]: Started Virtualization daemon.
Apr 21 19:56:00 localhost libvirtd[761]: libvirt version: 1.2.14
Apr 21 19:56:00 localhost libvirtd[761]: Cannot check dnsmasq binary /sbin/dnsmasq: No such file or directory
Apr 21 19:56:00 localhost libvirtd[761]: direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
Apr 21 19:56:00 localhost libvirtd[761]: out of memory
Apr 21 19:56:00 localhost libvirtd[761]: internal error: Failed to find path for dmidecode binary
Apr 21 19:56:00 localhost libvirtd[761]: internal error: Failed to find path for dmidecode binary
Apr 21 19:56:01 localhost libvirtd[761]: out of memory
Comment by Tom Yan (tom.ty89) - Tuesday, 21 April 2015, 12:00 GMT
Another version (avoid noise error by installing related optdep, including qemu):

[tom@localhost ~]$ sudo libvirtd
^C[tom@localhost ~]$ sudo systemctl start libvirtd
[tom@localhost ~]$ sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2015-04-21 19:59:10 HKT; 2s ago
Docs: man:libvirtd(8)
http://libvirt.org
Main PID: 1284 (libvirtd)
CGroup: /system.slice/libvirtd.service
├─1121 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
├─1122 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─1284 /usr/bin/libvirtd

Apr 21 19:59:10 localhost systemd[1]: Starting Virtualization daemon...
Apr 21 19:59:10 localhost systemd[1]: Started Virtualization daemon.
Apr 21 19:59:10 localhost dnsmasq[1121]: read /etc/hosts - 2 addresses
Apr 21 19:59:10 localhost dnsmasq[1121]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Apr 21 19:59:10 localhost dnsmasq-dhcp[1121]: read /var/lib/libvirt/dnsmasq/default.hostsfile
[tom@localhost ~]$ sudo systemctl stop libvirtd
[tom@localhost ~]$ sudo groupdel kvm
[tom@localhost ~]$ sudo libvirtd
2015-04-21 11:59:28.896+0000: 1365: info : libvirt version: 1.2.14
2015-04-21 11:59:28.896+0000: 1365: error : virGetGroupID:1034 : invalid argument: Failed to parse group 'kvm'
2015-04-21 11:59:28.896+0000: 1365: error : virStateInitialize:783 : Initialization of QEMU state driver failed: invalid argument: Failed to parse group 'kvm'
2015-04-21 11:59:28.896+0000: 1365: error : daemonRunStateInit:909 : Driver state initialization failed
[tom@localhost ~]$ sudo systemctl start libvirtd
[tom@localhost ~]$ sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: inactive (dead) since Tue 2015-04-21 19:59:32 HKT; 1s ago
Docs: man:libvirtd(8)
http://libvirt.org
Process: 1411 ExecStart=/usr/bin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 1411 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/libvirtd.service
├─1121 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─1122 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper

Apr 21 19:59:31 localhost systemd[1]: Starting Virtualization daemon...
Apr 21 19:59:32 localhost systemd[1]: Started Virtualization daemon.
Apr 21 19:59:32 localhost dnsmasq[1121]: read /etc/hosts - 2 addresses
Apr 21 19:59:32 localhost dnsmasq[1121]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Apr 21 19:59:32 localhost dnsmasq-dhcp[1121]: read /var/lib/libvirt/dnsmasq/default.hostsfile
Apr 21 19:59:32 localhost libvirtd[1411]: libvirt version: 1.2.14
Apr 21 19:59:32 localhost libvirtd[1411]: invalid argument: Failed to parse group 'kvm'
Apr 21 19:59:32 localhost libvirtd[1411]: Initialization of QEMU state driver failed: invalid argument: Failed to parse group 'kvm'
Apr 21 19:59:32 localhost libvirtd[1411]: Driver state initialization failed
Comment by Tom Yan (tom.ty89) - Tuesday, 21 April 2015, 12:03 GMT
By the way, the kvm group doesn't seem to matter if I run libvirtd with a non-root user:
[tom@localhost ~]$ sudo groupdel kvm
[tom@localhost ~]$ libvirtd
^C[tom@localhost ~]$
Comment by Sergej Pupykin (sergej) - Tuesday, 21 April 2015, 12:34 GMT
will it start if you just comment out group= line in qemu.conf?
Comment by Tom Yan (tom.ty89) - Tuesday, 21 April 2015, 12:48 GMT
Oh yes it does.
Comment by Sergej Pupykin (sergej) - Tuesday, 21 April 2015, 12:53 GMT
I've changed default config to
group="78" according to https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database
in svn/trunk but did not do rebuild

Loading...