Re: [libvirt] [fedora-virt] qemu 1.1.0 in Rawhide, and planned backport to F17 (was: Re: Upgrading qemu to 1.1 in rawhide)
by Richard W.M. Jones
[On the topic of qemu 1.1.0 in Fedora 17]
I'm seeing some very peculiar problems with virt-install that might be
due to libvirt. Is libvirt in F17 too old for qemu 1.1.0?
-------
(1) Just installing qemu-system-x86 isn't enough for libvirt to
recognize any hypervisors:
ERROR Host does not support any virtualization options
virsh capabilities doesn't show any <guest> section at all. Of course
qemu-kvm *is* installed and working.
Solution: install the qemu meta-package. Unfortunately that means I
have to have qemu-system-{cris,sh4,arm,mips} which I didn't want.
(2) If I use virt-install --cpu=host, I get:
ERROR unsupported configuration: CPU specification not supported by hypervisor
Solution was to not use this option.
(3) Now virt-install says:
ERROR internal error process exited while connecting to monitor: char device redirected to /dev/pts/19
Error: Cirrus VGA not available
Solution was to use --graphics=spice.
(4) Now virt-install says:
ERROR internal error process exited while connecting to monitor: char device redirected to /dev/pts/19
do_spice_init: starting 0.10.1
spice_server_add_interface: SPICE_INTERFACE_MIGRATION
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
Kernel image must be specified
The error here is "Kernel image must be specified".
By this point it was getting very strange, so I decided to look
at the libvirt log files for the qemu command line ...
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-system-arm -S -M integratorcp -no-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name OpenSUSE113x64 -uuid 4f959395-9203-7e3d-09e6-e43369286a2c -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/OpenSUSE113x64.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci,addr=0x1.0x2 -drive file=/dev/vg_pin/OpenSUSE113x64,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive file=/mnt/media/installers/OpenSUSE-11.3-x86_64/openSUSE-11.3-NET-x86_64.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=21,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0d:16:de,bus=pci,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -k en-gb -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci,addr=0x4
Yikes. ???? qemu-system-arm ????
-------
The version of libvirt is libvirt-0.9.11.4-3.fc17.x86_64, and this is
a mostly up to date F17 system, except that I've installed qemu-kvm
1.1.0 + ceph from Rawhide.
Suggestions welcome.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
12 years, 5 months
[libvirt] [PATCH] [libvirt-java] Fix javadoc warnings.
by Claudio Bley
Hi.
Here's a patch fixing these javadoc warnings:
---
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Connect.java:387: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Connect.java:644: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Connect.java:658: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Domain.java:681: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Domain.java:795: warning - Tag @see: reference not found: http
[javadoc] ://www.libvirt.org/html/libvirt-libvirt.html#virDomainMigrateToURI
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\DomainSnapshot.java:40: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\StoragePool.java:349: warning - @return tag has no arguments.
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "58" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "47" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "47" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "47" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "47" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see:illegal character: "45" in "http://www.libvirt.org/html/libvi
rt-libvirt.html#virStreamRecvAll"
[javadoc] x:\src\libvirt-java\src\main\java\org\libvirt\Stream.java:130: warning - Tag @see: reference not found: http://www.libvirt.org/html/libvirt-lib
virt.html#virStreamRecvAll
---
---
diff --git a/src/main/java/org/libvirt/Connect.java b/src/main/java/org/libvirt/Connect.java
index 77336f0..de75f20 100644
--- a/src/main/java/org/libvirt/Connect.java
+++ b/src/main/java/org/libvirt/Connect.java
@@ -381,7 +381,7 @@ public class Connect {
* Documentation</a>
* @param callbackID
* the callback to deregister
- * @return
+ * @return 0 on success, -1 on failure
* @throws LibvirtException
*/
public int domainEventDeregister(int callbackID) throws LibvirtException {
@@ -400,7 +400,7 @@ public class Connect {
int action);
}
- private interface GenericCallback {
+ protected interface GenericCallback {
void eventCallback(Connect connect, Domain domain);
}
public interface RebootCallback extends GenericCallback {
@@ -638,7 +638,7 @@ public class Connect {
* domain configuration file describing the domain. The format of the native
* data is hypervisor dependant.
*
- * @return
+ * @return domain XML as String, or {@code null} on error
* @throws LibvirtException
*/
public String domainXMLFromNative(String nativeFormat, String nativeConfig, int flags) throws LibvirtException {
@@ -652,7 +652,7 @@ public class Connect {
* native configuration file describing the domain. The format of the native
* data is hypervisor dependant.
*
- * @return
+ * @return domain XML as String, or {@code null} on error
* @throws LibvirtException
*/
public String domainXMLToNative(String nativeFormat, String domainXML, int flags) throws LibvirtException {
diff --git a/src/main/java/org/libvirt/Domain.java b/src/main/java/org/libvirt/Domain.java
index fd7a03a..fe9f3b0 100644
--- a/src/main/java/org/libvirt/Domain.java
+++ b/src/main/java/org/libvirt/Domain.java
@@ -675,7 +675,7 @@ public class Domain {
* @see <a
* href="http://www.libvirt.org/html/libvirt-libvirt.html#virDomainManagedSaveRemove">Libvirt
* Documentation</a>
- * @return
+ * @return 0 in case of success, and -1 in case of error
* @throws LibvirtException
*/
public int managedSaveRemote() throws LibvirtException {
@@ -778,8 +778,9 @@ public class Domain {
* Migrate the domain object from its current host to the destination host
* given by duri.
*
- * @see http
- * ://www.libvirt.org/html/libvirt-libvirt.html#virDomainMigrateToURI
+ * @see <a
+ * href="http://www.libvirt.org/html/libvirt-libvirt.html#virDomainMigrateToURI">
+ * virDomainMigrateToURI</a>
*
* @param uri
* The destination URI
diff --git a/src/main/java/org/libvirt/DomainSnapshot.java b/src/main/java/org/libvirt/DomainSnapshot.java
index e9a23d6..add6830 100644
--- a/src/main/java/org/libvirt/DomainSnapshot.java
+++ b/src/main/java/org/libvirt/DomainSnapshot.java
@@ -34,7 +34,7 @@ public class DomainSnapshot {
* Documentation</a>
* @param flags
* controls teh deletion
- * @return
+ * @return 0 if the selected snapshot(s) were successfully deleted, -1 on error.
* @throws LibvirtException
*/
public int delete(int flags) throws LibvirtException {
diff --git a/src/main/java/org/libvirt/StoragePool.java b/src/main/java/org/libvirt/StoragePool.java
index a3d59a9..0328d8c 100644
--- a/src/main/java/org/libvirt/StoragePool.java
+++ b/src/main/java/org/libvirt/StoragePool.java
@@ -343,7 +343,7 @@ public class StoragePool {
* as input. Information for the new volume (name, perms) are passed via a
* typical volume XML description.
*
- * @return
+ * @return The storage volume, or {@code null} on error.
* @throws LibvirtException
*/
public StorageVol storageVolCreateXMLFrom(String xmlDesc, StorageVol cloneVolume, int flags)
diff --git a/src/main/java/org/libvirt/Stream.java b/src/main/java/org/libvirt/Stream.java
index fdef3a4..6374567 100644
--- a/src/main/java/org/libvirt/Stream.java
+++ b/src/main/java/org/libvirt/Stream.java
@@ -121,7 +121,7 @@ public class Stream {
/**
* Batch receive method
*
- * @see http://www.libvirt.org/html/libvirt-libvirt.html#virStreamRecvAll
+ * @see <a href="http://www.libvirt.org/html/libvirt-libvirt.html#virStreamRecvAll">virStreamRecvAll</a>
* @param handler
* the callback handler
* @return 0 if successfule, -1 otherwise
---
Best regards,
Claudio
--
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>
Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern
--
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>
Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern
12 years, 5 months
[libvirt] libvirt and qemu
by mattias
when i do
virsh connect qemu:///system
i can connect
but virsh list
dosent show anything
my qemu vms are not created with virt-manager
12 years, 5 months
[libvirt] [PATCH] [libvirt-java] Fix Array IndexOutOfBoundsException for unknown error codes
by Claudio Bley
Hi.
I'm using libvirt-java 0.4.7 and libvirt 0.9.8.
When libvirt returns an error code which is not mapped in enum
ErrorNumber, an IndexOutOfBoundsException is thrown.
I realize that the freshly released libvirt-java 0.4.8 supports all
error codes up to libvirt 0.9.12. But that doesn't fix the problem.
Would it be feasible to add a special UNKNOWN enum value?
---
diff --git a/src/main/java/org/libvirt/Error.java b/src/main/java/org/libvirt/Error.java
index 0946030..72bc698 100644
--- a/src/main/java/org/libvirt/Error.java
+++ b/src/main/java/org/libvirt/Error.java
@@ -151,9 +151,12 @@ public class Error implements Serializable {
}
public Error(virError vError) {
- code = ErrorNumber.values()[vError.code];
- domain = ErrorDomain.values()[vError.domain];
- level = ErrorLevel.values()[vError.level];
+ if (ErrorNumber.values().length > vError.code)
+ code = ErrorNumber.values()[vError.code];
+ if (ErrorDomain.values().length > vError.domain)
+ domain = ErrorDomain.values()[vError.domain];
+ if (ErrorLevel.values().length > vError.level)
+ level = ErrorLevel.values()[vError.level];
message = vError.message;
str1 = vError.str1;
str2 = vError.str2;
---
Best regards,
Claudio.
--
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>
Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern
--
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>
Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern
12 years, 5 months
[libvirt] [PATCH 00/12] Fine grained access control for libvirt APIs
by Daniel P. Berrange
This is a repost of
https://www.redhat.com/archives/libvir-list/2012-January/msg00907.html
which got no comments last time out.
This series of patch is the minimal required to get a working proof
of concept implementation of fine grained access control in libvirt.
This demonstrates
- Obtaining a client identity from a socket
- Ensuring RPC calls are executed with the correct identity sset
- A policykit access driver that checks based on access vector alone
- A SELinux access driver that checks based on access vector + object
- A set of hooks in the QEMU driver to protect virDomainObjPtr access
Things that are not done
- APIs for changing the real/effective identity post-connect
- A simple RBAC access driver for doing (Access vector, object)
checks
- SELinux policy for the SELinux driver
- Access control hooks on all other QEMU driver methods
- Access control hooks in LXC, UML, other libvirtd side drivers
- Access control hooks in storage, network, interface, etc drivers
- Document WTF todo to propagate SELinux contexts across TCP
sockets using IPSec. Any hints welcome...
- Lots more I can't think of right now
I should note that the policykit driver is mostly useless because it
is unable to let you do checks on anything other than permission name
and UNIX process ID at this time. So what I've implemented with the
polkit driver is really little more than a slightly more fine grained
version of the VIR_CONNECT_RO flag. In theory it is supposed to be
extendable to allow other types of identity information besides
the process ID, and to include some kind of object identiers in
the permission check, but no one seems to be attacking this.
So I expect the simple RBAC driver to be the most used one in the
common case usage of libvirt, and of course the SELinux driver.
12 years, 5 months
[libvirt] [PATCH] Only ummount /proc, /sys, /dev if the root source is '/'
by Daniel P. Berrange
From: "Daniel P. Berrange" <berrange(a)redhat.com>
Previous commits added code to unmount the existing /proc,
/sys and /dev hierarchies on the root filesystem of the
container. This should only have been done if the container's
root filesystem was the same as the host's root. ie if
the root source is '/'. As it is, this causes LXC containersr
to fail to start if their root source is not '/'
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/lxc/lxc_container.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 4f8703c..145accb 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -1416,12 +1416,14 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
if (lxcContainerPivotRoot(root) < 0)
goto cleanup;
- /* Gets rid of any existing stuff under /proc, /sys & /tmp
+ /* If we have the root source being '/', then we need to
+ * get rid of any existing stuff under /proc, /sys & /tmp.
* We need new namespace aware versions of those. We must
* do /proc last otherwise we won't find /proc/mounts :-) */
- if (lxcContainerUnmountSubtree("/sys", false) < 0 ||
- lxcContainerUnmountSubtree("/dev", false) < 0 ||
- lxcContainerUnmountSubtree("/proc", false) < 0)
+ if (STREQ(root->src, "/") &&
+ (lxcContainerUnmountSubtree("/sys", false) < 0 ||
+ lxcContainerUnmountSubtree("/dev", false) < 0 ||
+ lxcContainerUnmountSubtree("/proc", false) < 0))
goto cleanup;
/* Mounts the core /proc, /sys, etc filesystems */
--
1.7.10.4
12 years, 5 months
[libvirt] [PATCH libvirt-java 1/2] Return a byte[] array with secretGetValue
by Wido den Hollander
We break the API with this, but Java does not support multiple method signatures with different return types.
The old method returned a String, but since a secret can be binary data this type is not suited.
Users who now that their secret is in fact a String, can use cast with:
Secret secret = conn.secretLookupByUUIDString("uuuuuuuid");
String value = new String(secret.getValue());
Signed-off-by: Wido den Hollander <wido(a)widodh.nl>
---
src/main/java/org/libvirt/Secret.java | 13 ++++++++++---
src/main/java/org/libvirt/jna/Libvirt.java | 2 +-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/libvirt/Secret.java b/src/main/java/org/libvirt/Secret.java
index 48f7895..39d9122 100644
--- a/src/main/java/org/libvirt/Secret.java
+++ b/src/main/java/org/libvirt/Secret.java
@@ -5,6 +5,9 @@ import org.libvirt.jna.SecretPointer;
import com.sun.jna.Native;
import com.sun.jna.NativeLong;
+import com.sun.jna.ptr.LongByReference;
+import com.sun.jna.Pointer;
+import java.nio.ByteBuffer;
/**
* A secret defined by libvirt
@@ -106,12 +109,16 @@ public class Secret {
/**
* Fetches the value of the secret
- *
+ *
* @return the value of the secret, or null on failure.
*/
- public String getValue() throws LibvirtException {
- String returnValue = libvirt.virSecretGetValue(VSP, new NativeLong(), 0);
+ public byte[] getValue() throws LibvirtException {
+ LongByReference value_size = new LongByReference();
+ Pointer value = libvirt.virSecretGetValue(VSP, value_size, 0);
processError();
+ ByteBuffer bb = value.getByteBuffer(0, value_size.getValue());
+ byte[] returnValue = new byte[bb.remaining()];
+ bb.get(returnValue);
return returnValue;
}
diff --git a/src/main/java/org/libvirt/jna/Libvirt.java b/src/main/java/org/libvirt/jna/Libvirt.java
index b1e53a2..f53199d 100644
--- a/src/main/java/org/libvirt/jna/Libvirt.java
+++ b/src/main/java/org/libvirt/jna/Libvirt.java
@@ -330,7 +330,7 @@ public interface Libvirt extends Library {
public int virSecretGetUUID(SecretPointer virSecretPtr, byte[] uuidString);
public int virSecretGetUUIDString(SecretPointer virSecretPtr, byte[] uuidString);
public String virSecretGetUsageID(SecretPointer virSecretPtr);
- public String virSecretGetValue(SecretPointer virSecretPtr, NativeLong value_size, int flags);
+ public Pointer virSecretGetValue(SecretPointer virSecretPtr, LongByReference value_size, int flags);
public String virSecretGetXMLDesc(SecretPointer virSecretPtr, int flags);
public SecretPointer virSecretLookupByUsage(ConnectionPointer virConnectPtr, int usageType, String usageID);
public SecretPointer virSecretLookupByUUID(ConnectionPointer virConnectPtr, byte[] uuidBytes);
--
1.7.9.5
12 years, 5 months
[libvirt] [PATCH] Wire up <loader> to set the QEMU BIOS path
by Daniel P. Berrange
From: "Daniel P. Berrange" <berrange(a)redhat.com>
* src/qemu/qemu_command.c: Wire up -bios with <loader>
* tests/qemuxml2argvdata/qemuxml2argv-bios.args,
tests/qemuxml2argvdata/qemuxml2argv-bios.xml: Expand
existing BIOS test case to cover <loader>
---
src/qemu/qemu_command.c | 9 +++++++++
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-bios.xml | 1 +
3 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index ea9431f..c82f5bc 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4052,6 +4052,11 @@ qemuBuildCommandLine(virConnectPtr conn,
if (enableKVM)
virCommandAddArg(cmd, "-enable-kvm");
+ if (def->os.loader) {
+ virCommandAddArg(cmd, "-bios");
+ virCommandAddArg(cmd, def->os.loader);
+ }
+
/* Set '-m MB' based on maxmem, because the lower 'memory' limit
* is set post-startup using the balloon driver. If balloon driver
* is not supported, then they're out of luck anyway. Update the
@@ -7581,6 +7586,10 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
WANT_VALUE();
if (!(def->os.kernel = strdup(val)))
goto no_memory;
+ } else if (STREQ(arg, "-bios")) {
+ WANT_VALUE();
+ if (!(def->os.loader = strdup(val)))
+ goto no_memory;
} else if (STREQ(arg, "-initrd")) {
WANT_VALUE();
if (!(def->os.initrd = strdup(val)))
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios.args b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
index f9727c4..ac98000 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bios.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
@@ -1,5 +1,6 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-/usr/bin/qemu -S -M pc -m 1024 -smp 1 -nodefaults -device sga \
+/usr/bin/qemu -S -M pc -bios /usr/share/seabios/bios.bin \
+-m 1024 -smp 1 -nodefaults -device sga \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
-hda /dev/HostVG/QEMUGuest1 -serial pty \
-usb -device usb-tablet,id=input0 -vnc 127.0.0.1:0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios.xml b/tests/qemuxml2argvdata/qemuxml2argv-bios.xml
index cfc5587..ac15d45 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bios.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bios.xml
@@ -6,6 +6,7 @@
<vcpu>1</vcpu>
<os>
<type arch='i686' machine='pc'>hvm</type>
+ <loader>/usr/share/seabios/bios.bin</loader>
<boot dev='hd'/>
<bootmenu enable='yes'/>
<bios useserial='yes'/>
--
1.7.7.6
12 years, 5 months
[libvirt] [PATCH] qemu: Always set auth_supported for Ceph disks.
by Wido den Hollander
Recently the Ceph project defaulted auth_supported from 'none' to 'cephx'.
When no auth information was set for Ceph disks this would lead to librados defaulting to
'cephx', but there would be no additional authorization information.
We now explicitly set auth_supported to none when passing down arguments to Qemu.
Signed-off-by: Wido den Hollander <wido(a)widodh.nl>
---
src/qemu/qemu_command.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 6549f57..1c59695 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1782,6 +1782,8 @@ qemuBuildRBDString(virConnectPtr conn,
disk->auth.username);
goto error;
}
+ } else {
+ virBufferAddLit(opt, ":auth_supported=none");
}
if (disk->nhosts > 0) {
--
1.7.9.5
12 years, 5 months
[libvirt] Tracking VM installations
by Zeeshan Ali (Khattak)
Hi,
We have a requirement in Boxes for showing progress bars on VMs under
installation:
https://github.com/gnome-design-team/gnome-mockups/raw/master/boxes/boxes...
https://bugzilla.gnome.org/show_bug.cgi?id=679107
However, we are bit clueless on how that could be achieved. The only
idea I have is to know the number of passes (reboots) and typical disk
usage in each pass for "every" (we only do this for express installs
so we don't need this for all) OS and estimate the progress based on
that knowledge. If that idea is worth looking into, we'll need this
information in libosinfo and hence me cross-posting this to
virt-tools-list.
Other ideas welcome! Keep in mind that we don't need to be very
accurate, just accurate enough to not annoy the user.
--
Regards,
Zeeshan Ali (Khattak)
FSF member#5124
12 years, 5 months