missing kvm plug for nova-compute and virsh

Bug #1942642 reported by Dmitrii Shcherbakov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MicroStack
New
Undecided
Unassigned

Bug Description

Due to https://bugs.launchpad.net/snapd/+bug/1942640 even in devmode access to `/dev/kvm` is prohibited for applications that do not have a `kvm` plug.

It is currently present for the libvirtd application but not nova-compute or virsh, however, this may result in errors like this:

/var/snap/microstack/common/log/nova.log:2021-09-01 09:35:49.170 551126 ERROR nova.compute.manager [req-0f57efdb-5fe3-4e7c-97e2-f375aed6ea07 4a1589a2e37041a09765d67ad7a409ff 40f0600238f3409dbfa2f9dd6cb3e4ce - default default] [instance: de640782-f5c3-4c94-9232-345024036a5a] Failed to build and run instance: libvirt.libvirtError: unsupported configuration: Emulator '/snap/microstack/234/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'

# Not OK.
$ sudo snap run --shell microstack.nova-compute
root@node-hagecius:/home/ubuntu/src/microstack# virt-host-validate
  QEMU: Checking for hardware virtualization : PASS
  QEMU: Checking if device /dev/kvm exists : FAIL (Check that the 'kvm-intel' or 'kvm-amd' modules are loaded & the BIOS has enabled virtualization)
  QEMU: Checking if device /dev/vhost-net exists : PASS
  QEMU: Checking if device /dev/net/tun exists : PASS
  QEMU: Checking for cgroup 'cpu' controller support : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support : PASS
  QEMU: Checking for cgroup 'cpuset' controller support : PASS
  QEMU: Checking for cgroup 'memory' controller support : PASS
  QEMU: Checking for cgroup 'devices' controller support : PASS
  QEMU: Checking for cgroup 'blkio' controller support : PASS
  QEMU: Checking for device assignment IOMMU support : PASS
  QEMU: Checking if IOMMU is enabled by kernel : PASS
  QEMU: Checking for secure guest support : WARN (Unknown if this platform has Secure Guest support)

# Not OK: EPERM.
root@node-hagecius:/home/ubuntu/src/microstack# cat /dev/kvm
cat: /dev/kvm: Operation not permitted

# Not OK.
$ sudo snap run --shell microstack.virsh
root@node-hagecius:/home/ubuntu/src/microstack# virt-host-validate
  QEMU: Checking for hardware virtualization : PASS
  QEMU: Checking if device /dev/kvm exists : FAIL (Check that the 'kvm-intel' or 'kvm-amd' modules are loaded & the BIOS has enabled virtualization)
  QEMU: Checking if device /dev/vhost-net exists : PASS
  QEMU: Checking if device /dev/net/tun exists : PASS
  QEMU: Checking for cgroup 'cpu' controller support : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support : PASS
  QEMU: Checking for cgroup 'cpuset' controller support : PASS
  QEMU: Checking for cgroup 'memory' controller support : PASS
  QEMU: Checking for cgroup 'devices' controller support : PASS
  QEMU: Checking for cgroup 'blkio' controller support : PASS
  QEMU: Checking for device assignment IOMMU support : PASS
  QEMU: Checking if IOMMU is enabled by kernel : PASS
  QEMU: Checking for secure guest support : WARN (Unknown if this platform has Secure Guest support)

# Not OK: EPERM.
root@node-hagecius:/home/ubuntu/src/microstack# cat /dev/kvm
cat: /dev/kvm: Operation not permitted

# OK
$ sudo snap run --shell microstack.libvirtd
root@node-hagecius:/home/ubuntu/src/microstack# virt-host-validate
  QEMU: Checking for hardware virtualization : PASS
  QEMU: Checking if device /dev/kvm exists : PASS
  QEMU: Checking if device /dev/kvm is accessible : PASS
  QEMU: Checking if device /dev/vhost-net exists : PASS
  QEMU: Checking if device /dev/net/tun exists : PASS
  QEMU: Checking for cgroup 'cpu' controller support : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support : PASS
  QEMU: Checking for cgroup 'cpuset' controller support : PASS
  QEMU: Checking for cgroup 'memory' controller support : PASS
  QEMU: Checking for cgroup 'devices' controller support : PASS
  QEMU: Checking for cgroup 'blkio' controller support : PASS
  QEMU: Checking for device assignment IOMMU support : PASS
  QEMU: Checking if IOMMU is enabled by kernel : PASS
  QEMU: Checking for secure guest support : WARN (Unknown if this platform has Secure Guest support)

# OK, EPERM not received.
root@node-hagecius:/home/ubuntu/src/microstack# cat /dev/kvm
cat: /dev/kvm: Invalid argument

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.