one icon indicating copy to clipboard operation
one copied to clipboard

QEMU emulator detection

Open vholer opened this issue 5 years ago • 1 comments

Description

Currently, the default path to the QEMU is hardcoded in the vmm_exec_kvm.conf :

https://github.com/OpenNebula/one/blob/6230e2d7c6ff5f037bad17684fda94beb116f3ed/src/vmm_mad/exec/vmm_exec_kvm.conf#L31

and, adjusted for each build platform during the packaging to

  • CentOS / RHEL: /usr/libexec/qemu-kvm
  • Fedora: /usr/bin/qemu-kvm
  • Debian / Ubuntu: /usr/bin/qemu-system-x86_64

This introduces following problems in

  • heterogenous environments (e.g., F-E CentOS, HV mixed Debian and CentOS) - and requires to a symlink incompatible systems to provide emulator on a same path within all platforms

  • different architectures, where that (e.g., OS=[arch="aarch64"]) requires a completely different emulator (e.g., /usr/bin/qemu-system-aarch64).

Vague proposal is to:

  1. extend probes fetching current KVM_CPU* and KVM_MACHINES to return
  • list supported architectures
  • emulator for each architecture
  • KVM_CPU/MACHINES specific for each architecture
  1. Use a VM defaults specific for planned host.

Use case

  • Simplify configuration for heterogenous environments.
  • Front-end container deployment is is fixed to a single platform no matter what's running on HVs
  • Improve support for non-x86 architectures.

Interface Changes Monitoring, oned, Sunstone.

Progress Status

  • [ ] Branch created
  • [ ] Code committed to development branch
  • [ ] Testing - QA
  • [ ] Documentation
  • [ ] Release notes - resolved issues, compatibility, known issues
  • [ ] Code committed to upstream release/hotfix branches
  • [ ] Documentation committed to upstream release/hotfix branches

vholer avatar Nov 09 '20 13:11 vholer

PRs to merge into master as a workaround which uses unified /usr/bin/qemu-kvm-one symlink:

  • https://github.com/OpenNebula/one-ee/pull/529/
  • https://github.com/OpenNebula/packages/pull/193
  • https://github.com/OpenNebula/docs/pull/1379

The issue should be left opened for a proper solution, which inteligently takes emulator and respects the guest VM architecture,

vholer avatar Dec 09 '20 14:12 vholer