[Libguestfs] [PATCH] launch: show hint to resolve authentication failure from libvirt
Olaf Hering
olaf at aepfle.de
Thu Oct 11 10:57:12 UTC 2012
On Wed, Oct 10, Daniel P. Berrange wrote:
> It depends on what instance of libvirtd you are connecting to.
>
> - The system instance, runs as root and requirs non-root users
> to auth with policykit
>
> - The session instance, runs as the same user id as the client
> app and does not require auth.
>
> Since libguestfs passes NULL for the URI, it will be connecting
> to the session instance if libguestfs is non-root and thus not
> require any auth. If libguestfs is run as root it will connect
> to the system instance which requires polkit auth, but root already
> has that granted.
Thanks for that summary.
Today I tried it with a openSuSE 12.2 system, which is more uptodate
than a sles11sp2.
Running libguestfs-test-tool fails because root starts a kvm guest, while a
user starts a qemu guest. I think once the os type is correct for type 'qemu'
it will work.
Olaf
olaf at stein-schneider:~> libguestfs-test-tool
************************************************************
* IMPORTANT NOTICE
*
* When reporting bugs, include the COMPLETE, UNEDITED
* output below in your bug report.
*
************************************************************
===== Test starts here =====
PATH=/home/olaf/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games
library version: 1.19.49
guestfs_get_append: (null)
guestfs_get_attach_method: libvirt
guestfs_get_autosync: 1
guestfs_get_direct: 0
guestfs_get_memsize: 500
guestfs_get_network: 0
guestfs_get_path: /usr/lib64/guestfs
guestfs_get_pgroup: 0
guestfs_get_qemu: /usr/bin/qemu-kvm
guestfs_get_recovery_proc: 1
guestfs_get_selinux: 0
guestfs_get_smp: 1
guestfs_get_trace: 0
guestfs_get_verbose: 1
host_cpu: x86_64
Launching appliance, timeout set to 600 seconds.
libguestfs: libvirt version = 10002
libguestfs: [00000ms] connect to libvirt
libguestfs: [00003ms] get libvirt capabilities
libguestfs: [00048ms] build appliance
libguestfs: [00048ms] create libvirt XML
libguestfs: libvirt XML:\n<?xml version="1.0"?>\n<domain type="qemu" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">\n <name>guestfs-fs1ubzlxkfco2kz9</name>\n <memory unit="MiB">500</memory>\n <currentMemory unit="MiB">500</currentMemory>\n <cpu model="host-model"/>\n <vcpu>1</vcpu>\n <clock offset="utc"/>\n <os>\n <type>hvm</type>\n <kernel>/usr/lib64/guestfs/vmlinuz.x86_64</kernel>\n <initrd>/usr/lib64/guestfs/initramfs.x86_64.img</initrd>\n <cmdline>panic=1 console=ttyS0 udevtimeout=600 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdb selinux=0 guestfs_verbose=1 TERM=screen </cmdline>\n </os>\n <on_reboot>destroy</on_reboot>\n <devices>\n <controller type="scsi" index="0" model="virtio-scsi"/>\n <disk device="disk" type="file">\n <source file="/tmp/libguestfs-test-tool-sda-7iYTxF"/>\n <target dev="sda" bus="scsi"/>\n <driver name="qemu" type="raw" cache="none"/>\n <address type="drive" controller="0" bus="0" target="0" unit="0"/>\n </disk>\n <serial type="unix">\n <source mode="connect" path="/tmp/libguestfss1xgHv/console.sock"/>\n <target port="0"/>\n </serial>\n <channel type="unix">\n <source mode="connect" path="/tmp/libguestfss1xgHv/guestfsd.sock"/>\n <target type="virtio" name="org.libguestfs.channel.0"/>\n </channel>\n </devices>\n <qemu:commandline/>\n</domain>\n
libguestfs: [00048ms] launch libvirt guest
libguestfs: error: could not create appliance through libvirt: unknown OS type hvm [code=16 domain=20]
libguestfs-test-tool: failed to launch appliance
libguestfs: closing guestfs handle 0x1608ec0 (state 0)
--- root 2012-10-11 12:50:54.000000000 +0200
+++ olaf 2012-10-11 12:51:15.000000000 +0200
@@ -1,7 +1,7 @@
libguestfs: libvirt XML:
<?xml version="1.0"?>
-<domain type="kvm" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">
- <name>guestfs-zftfuc2yqwc8qhyk</name>
+<domain type="qemu" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">
+ <name>guestfs-fs1ubzlxkfco2kz9</name>
<memory unit="MiB">500</memory>
<currentMemory unit="MiB">500</currentMemory>
<cpu model="host-model"/>
@@ -17,17 +17,17 @@ libguestfs: libvirt XML:
<devices>
<controller type="scsi" index="0" model="virtio-scsi"/>
<disk device="disk" type="file">
- <source file="/tmp/libguestfs-test-tool-sda-uzaB2z"/>
+ <source file="/tmp/libguestfs-test-tool-sda-7iYTxF"/>
<target dev="sda" bus="scsi"/>
<driver name="qemu" type="raw" cache="none"/>
<address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<serial type="unix">
- <source mode="connect" path="/tmp/libguestfs3kAQMc/console.sock"/>
+ <source mode="connect" path="/tmp/libguestfss1xgHv/console.sock"/>
<target port="0"/>
</serial>
<channel type="unix">
- <source mode="connect" path="/tmp/libguestfs3kAQMc/guestfsd.sock"/>
+ <source mode="connect" path="/tmp/libguestfss1xgHv/guestfsd.sock"/>
<target type="virtio" name="org.libguestfs.channel.0"/>
</channel>
</devices>
More information about the Libguestfs
mailing list