Friday, March 24, 2017

Easy qemu commandline passthrough with virt-xml

Libvirt has supported qemu commandline option passthrough for qemu/kvm VMs for quite a while. The format for it is a bit of a pain though since it requires setting a magic xmlns value at the top of the domain XML. Basically doing it by hand kinda sucks.

In the recently released virt-manager 1.4.1, we added a virt-install/virt-xml option --qemu-commandline that tweaks option passthrough for new or existing VMs. So for example, if you wanted to add the qemu option string '-device FOO' to an existing VM named f25, you can do:

  ./virt-xml f25 --edit --confirm --qemu-commandline="-device FOO"

The output will look like:

--- Original XML
+++ Altered XML
@@ -1,4 +1,4 @@
-<domain type="kvm">
+<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
   <name>f25</name>
   <uuid>9b6f1795-c88b-452a-a54c-f8579ddc18dd</uuid>
   <memory unit="KiB">4194304</memory>
@@ -104,4 +104,8 @@
       <address type="pci" domain="0x0000" bus="0x00" slot="0x0a" function="0x0"/>
     </rng>
   </devices>
+  <qemu:commandline>
+    <qemu:arg value="-device"/>
+    <qemu:arg value="foo"/>
+  </qemu:commandline>
 </domain>

Define 'f25' with the changed XML? (y/n):

Wednesday, March 8, 2017

virt-manager 1.4.1 released!

I've just released virt-manager 1.4.1. The highlights are:
  • storage/nodedev event API support (Jovanka Gulicoska)
  • UI options for enabling spice GL (Marc-AndrĂ© Lureau)
  • Add default virtio-rng /dev/urandom for supported guest OS
  • Cloning and rename support for UEFI VMs (Pavel Hrdina)
  • libguestfs inspection UI improvements (Pino Toscano)
  • virt-install: Add --qemu-commandline
  • virt-install: Add --network vhostuser (Chen Hanxiao)
  • virt-install: Add --sysinfo (Charles Arnold)
Plus the usual slew of bug fixes and small improvements.

Wednesday, February 8, 2017

python-bugzilla 2.0.0 released!

I'm happy to announce a new release of python-bugzilla, version 2.0.0.

This release contains several small to medium API breaks as previously mentioned on the blog. If you hit any issues, check that page first to see if it's an expected change.
 
The major changes in the release are:
  • Several fixes for use with bugzilla 5
  • This release contains several smallish API breaks:
  • Bugzilla.bug_autorefresh now defaults to False
  • Credentials are now cached in ~/.cache/python-bugzilla/
  • bin/bugzilla was converted to argparse
  • bugzilla query --boolean_chart option is removed
  • Unify command line flags across sub commands
  • More details at: http://blog.wikichoon.com/2016/06/python-bugzilla-api-changes-in-git.html