So I'm  having issues nesting RDO on my T440s laptop (Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz), and I'm hoping someone on the list can help

My Physical Host (L0) is Fedora 19 running 3.14.4-100.fc19.x86_64 with nesting turned on
My OpenStack Host is RHEL 6.5 or RHEL 7 (L1)
My Guest is Cirros (L2)


I'm installing RDO Icehouse under RHEL via
  packstack --allinone --os-neutron-install=n
I then try to startup a Cirros guest (L2) and the guest never spawns

Taking a look at the qemu command line it looks as follows

/usr/libexec/qemu-kvm \
-global virtio-blk-pci.scsi=off \
-nodefconfig \
-nodefaults \
-nographic \
-machine accel=kvm:tcg \
-cpu host,+kvmclock \
-m 500 \
-no-reboot \
-kernel /var/tmp/.guestfs-497/kernel.2647 \
-initrd /var/tmp/.guestfs-497/initrd.2647 \
-device virtio-scsi-pci,id=scsi \
-drive file=/var/lib/nova/instances/3ae072b4-f4bf-42cf-b3ea-27d9768bc4df/disk,cache=none,format=qcow2,id=hd0,if=none \
-device scsi-hd,drive=hd0 \
-drive file=/var/tmp/.guestfs-497/root.2647,snapshot=on,id=appliance,if=none,cache=unsafe \
-device scsi-hd,drive=appliance \
-device virtio-serial \
-serial stdio \
-device sga \
-chardev socket,path=/tmp/libguestfsKGbB3D/guestfsd.sock,id=channel0 \
-device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
-append panic=1 console=ttyS0 udevtimeout=600 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdb selinux=0 TERM=linux

The issue appears to be running with "-cpu host"  with this nesting combination.

Now if I run the qemu command directly on RHEL7 (L1) I get this error
   KVM: entry failed, hardware error 0x7

Under RHEL 6.5 (L1) it is similar but not identical
    kvm: unhandled exit 7


In both cases on my Fedora physical host (L0) I see
   nested_vmx_run: VMCS MSR_{LOAD,STORE} unsupported


There does appear to be a Red Hat bugzilla for RHEL7 relating to this but not for RHEL6
 - https://bugzilla.redhat.com/show_bug.cgi?id=1038427

I can reproduce this issue using both RHEL 6.5 and RHEL 7 as my OpenStack Host (L1). Has anyone else hit this issue?


Next I tried a work around of editing the /etc/nova/nova.conf file and forcing the CPU type for my guests under OpenStack

#cpu_mode=none
cpu_mode=custom
   
# Set to a named libvirt CPU model (see names listed in
# /usr/share/libvirt/cpu_map.xml). Only has effect if
# cpu_mode="custom" and virt_type="kvm|qemu" (string value)
# Deprecated group;name - DEFAULT;libvirt_cpu_model
#cpu_model=<None>
cpu_model=Conroe


Problem is qemu is still run with "-cpu host,+kvmclock"


So am I hitting a secondary bug with nova-compute or is there another way to force OpenStack to select a particular CPU subset for Nova?

Steve

--
Steven Ellis
Solution Architect - Red Hat New Zealand
E: sellis@redhat.com