Sponsored

Not the solution you were looking for?

We’ll help you out!

Why does OpenStack report Hypervisor type as QEMU when libvirt_type is KVM?

I installed OpenStack Mitaka and was curious to check various features in horizon dashboard. For instance, the System > Hypervisors menu in the dashboard provides summary of various compute hosts, its hypervisor type and usage details – where I was surprised to see Hypervisor type reported as QEMU and not KVM, though the compute nodes were configured to use KVM. The same hypervisor type was reported while using nova hypervisor-show <compute_host_id> |grep hypervisor_type command as well.

I googled this issue and understood that OpenStack client command uses libvirt connection type to determine hypervisor type instead of using libvirt_type attribute in nova.conf. Here’s a detailed report on this bug.

However, I wanted to know if the instances are started on KVM hypervisor instead of QEMU. Fortunately, there are few ways to do this.

Check if KVM accelerator is used by QEMU

In the above output, you can see process qemu-system-x86_64 using accelerator kvm. According to this page, if your compute node runs qemu process with KVM accelerator, then the hypervisor is QEMU with KVM.

Conclusion

Although OpenStack dashboard and client commands report hypervisor type as QEMU, it’s actually QEMU with KVM accelerator and not just QEMU (which is just a software emulator). So the conclusion is, it might be a bug in OpenStack that reports hypervisor type as QEMU when QEMU with KVM is enabled or it’s just the way OpenStack reports. Few forums argue that it’s a bug in OpenStack documentation that failed to clearly mention the type of hypervisor supported (although I see a page listing the type of hypervisors supported in OpenStack, it lacks in providing the difference between QEMU and KVM).