Using RHELOSP 4.0 GA bits, I'm finding that when I launch the Cirros 0.3.1 image, separate calls to libguestfs within the nova codebase cause qemu-kvm to be run twice *before* the instance is launched. This is suboptimal. One libguestfs call (file injection) can be disabled by setting libvirt_inject_partition=-2, but this does not work for the second one (checking to see if the volume partition/filesystem can be extended). The codepath for the second call is approximately: /nova/virt/disk/api.py extend() /nova/virt/disk/api.py is_image_partitionless() /nova/virt/disk/vfs/guestfs.py VFSGuestFS.setup() It would be good if all of this could be done with one libguestfs instance which could also be disabled in the global nova config.
Upstream is moving away from file injection. To disable for now you can remove python-libguestfs from the compute nodes