Since a few months it is now possible to build an upstream QEMU which includes only our supported VCPU accelerator.

Project Description

This simple project is about experimenting with replacing our usual symlink qemu-kvm with an actual binary, looking at the impact on the end-to-end setup, including libvirt, virt-manager (maybe kubevirt too?)

Goal for this Hackweek

Build the new qemu-kvm QEMU, fix issues as they present themselves for fitting into the stack, try to live migrate a few VMs, learn whether this could be an interesting direction/option to provide in the future in addition to qemu-system-xxx as our supported binary.

For code changes to QEMU we could use f.e.:

https://github.com/hw-claudio/qemu/tree/hackweek

Resources

access to some identical machines for live migration, help with problem solving on the stack would be helpful.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 20

Activity

  • 8 months ago: ph03nix liked this project.
  • 8 months ago: okurz liked this project.
  • 9 months ago: jfehlig started this project.
  • 9 months ago: claudiofontana originated this project.

  • Comments

    • jfehlig
      8 months ago by jfehlig | Reply

      Based on all the hard work he has done upstream, Claudio built a qemu that does not include tcg. I've been using the binary to test how it behaves with libvirt and other tooling. libvirt properly reports via capabilities that the domain type 'qemu' (aka tcg) is not supported. Trying to start such a VM fails as expected:

      error: unsupported configuration: Emulator '/usr/bin/qemu-system-x86_64' does not support virt type 'qemu'

    • jfehlig
      8 months ago by jfehlig | Reply

      One noteworthy observation: We initially copied Claudio's binary to /usr/bin/qemu-kvm, but as it turns out libvirt no longer looks for binaries by the name 'qemu-kvm' when probing for emulators and their capabilities. We took the easy route and swapped Claudio's locally built binary with the system-provided /usr/bin/qemu-system-x86_64.

    • jfehlig
      8 months ago by jfehlig | Reply

      I noticed the following error while testing migration of a VM started on SLES15 SP2 host to a SLES15 SP3 host running Claudio's qemu binary

      virsh migrate --live sle15sp1-kvm qemu+ssh://virt82/system
      error: internal error: qemu unexpectedly closed the monitor: qemu-system-x8664: -spice port=5900,addr=127.0.0.1,disable-ticketing=on,image-compression=off,seamless-migration=on: There is no option group 'spice' qemu-system-x8664: -spice port=5900,addr=127.0.0.1,disable-ticketing=on,image-compression=off,seamless-migration=on: spice support is disabled

      Migration between the two hosts works fine when the SP3 one is using the system-provided qemu binary. Interestingly, starting a VM on the SP3 host using the system-provided binary, saving it to disk, then restoring it using Claudio's binary works fine. I would have expected it to fail similar to the migration attempt.

    • claudiofontana
      5 months ago by claudiofontana | Reply

      4 months later.. I think that at the time I had a qemu without spice support due to some issue with the devel package. I'd expect that it should work now, we will see!

    Similar Projects

    This project is one of its kind!