[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