-> Find the capabilities of the host CPU: -------------------- [root@interceptor ~]# virsh capabilities | virsh cpu-baseline /dev/stdin SandyBridge Intel [root@interceptor ~]# -------------------- -> Edit the libvirt XML, add the CPU capablitly, and ensure it reflects correctly: NOTE: 'host-passthrough' tells QEMU to copy host-cpu capablities to guest-cpu -------------------- [root@interceptor ~]# virsh edit fedora [root@interceptor ~]# virsh dumpxml fedora | grep 'cpu mode' -A3 destroy -------------------- -> On the physical host: -------------------- [root@interceptor ~]# ps -ef | grep -i qemu qemu 9313 1 49 20:48 ? 00:00:33 /usr/libexec/qemu-kvm -name fedora -S -machine pc-i440fx-1.5,accel=kvm,usb=off -cpu host -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid ac5372c6-4023-a621-8be3-510ec5cf6d54 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/fedora.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/export/images/fedora.raw,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:cc:31:0a,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 root 9423 8863 0 20:49 pts/2 00:00:00 grep --color=auto -i qemu -------------------- -> Inside devstack instance: -------------------- [root@devstack ~]# file /dev/kvm /dev/kvm: character special [root@devstack ~]# -------------------- -> Ensure to have libvirt_type as 'kvm' on the devstack host: -------------------- [root@devstack ~]# grep libvirt_type /etc/nova/nova.conf libvirt_type = kvm [root@devstack ~]# -------------------- -> qemu-kvm cli of nova instance: -------------------- [root@localhost ~]$ ps -ef | grep -i qemu qemu 23319 1 92 21:10 ? 00:01:46 /usr/bin/qemu-kvm -name instance-00000001 -S -M pc-1.2 -enable-kvm -m 2048 -smp 1,sockets=1,cores=1,threads=1 -uuid 7b5e081e-baca-4ac6-ba68-f16391febbd5 -smbios type=1,manufacturer=OpenStack Foundation,product=OpenStack Nova,version=2013.2,serial=ac5372c6-4023-a621-8be3-510ec5cf6d54,uuid=7b5e081e-baca-4ac6-ba68-f16391febbd5 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance-00000001.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -no-kvm-pit-reinjection -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/home/kashyap/logs-devstack/data/nova/instances/7b5e081e-baca-4ac6-ba68-f16391febbd5/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=23 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:90:d4:30,bus=pci.0,addr=0x3 -chardev file,id=charserial0,path=/home/kashyap/logs-devstack/data/nova/instances/7b5e081e-baca-4ac6-ba68-f16391febbd5/console.log -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 kashyap 24003 5065 0 21:12 pts/0 00:00:00 grep --color=auto -i qemu [kashyap@localhost ~]$ -------------------- -> This a crude way, but works - confirm KVM acceleration is in use, try to purposefully unload the kvm_intel module, it fails (righly) because it's already in use. -------------------- [kashyap@localhost ~]$ sudo modprobe -r kvm_intel modprobe: FATAL: Module kvm_intel is in use. [kashyap@localhost ~]$ --------------------