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

  • about 3 years ago: ph03nix liked this project.
  • about 3 years ago: okurz liked this project.
  • about 3 years ago: jfehlig started this project.
  • about 3 years ago: claudiofontana originated this project.

  • Comments

    • jfehlig
      about 3 years 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
      about 3 years 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
      about 3 years 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
      over 2 years 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!