<div dir="ltr"><div><div><div>Dear Oisin,<br></div>I would recommend you do the offline migration(Export/Import) instead due to CPU spec are different, refer link--> "<a href="https://bugs.launchpad.net/nova/+bug/1082414">https://bugs.launchpad.net/nova/+bug/1082414</a>" and "<a href="https://review.openstack.org/#/c/161944/2">https://review.openstack.org/#/c/161944/2</a>". This save a lot more time instead of bug digging.<br><br></div>Hope that helps.<br></div>Xlord<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 6, 2017 at 9:29 AM, Oisin O'Malley <span dir="ltr"><<a href="mailto:oisin.omalley@iocane.com.au" target="_blank">oisin.omalley@iocane.com.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
First time mailing here, I hope someone can help. We’re running a OpenStack Newton environment on top of CentOS-7.3, LibVirt and Qemu-KVM-EV. We are encountered an issue live migrating a VM between 2 hosts with different CPUs and LibVirt throws the following error:<br>
<br>
libvirtError: unsupported configuration: guest and host CPU are not compatible: Host CPU does not provide required features: fma, x2apic, movbe, tsc-deadline, xsave, osxsave, avx, f16c, rdrand, fsgsbase, tsc_adjust, bmi1, hle, avx2, smep, bmi2, erms, invpcid, rtm, rdseed, adx, smap, xsaveopt, abm, 3dnowprefetch; try using 'Broadwell-noTSX' CPU model.<br>
<br>
<br>
LibVirt appears to be comparing the source and destination host CPUs, instead of guest VM and destination host CPUs. The VM is configured with a common set CPU features that are compatible with both (see below) and can run on both hosts without issue. The hosts have Westmere and Broadwell CPUs (See host CPU capabilities below). The VM can be booted on the Westmere host, successfully live migrated to the Broadwell host, but then throws the above error when we attempt to live migrating back to the Westmere host.<br>
<br>
Due to how our Westmere hosts were configured in OpenStack Nova, the VMs CPU is configured with "cpu mode='host-model'", which fail to migrate. BUT if the VMs CPU is configured with "cpu mode='custom' match='exact'" it can be successfully migrate both ways. It appears that when a VMs CPU is configured with "cpu mode='host-model'" the guests CPU is ignored and the host CPUs are compared instead. Which I believe is incorrect behaviour, is this a known issue and/or have any workarounds.<br>
<br>
The VMs will be configure to use "cpu mode='custom'" with a Westmere model on their next reboot, but rebooting all VMs prior to migration is something we really want to avoid.<br>
<br>
There has already been some discussion on this issue on the OpenStack mailing list: <a href="http://lists.openstack.org/pipermail/openstack/2017-July/thread.html#45139" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>pipermail/openstack/2017-July/<wbr>thread.html#45139</a><br>
<br>
The following package versions are being used;<br>
libvirt-daemon-kvm.x86_642.0.<wbr>0-10.el7_3.4<br>
qemu-kvm-ev.x86_6410:2.6.0-28.<wbr>el7_3.3.1<br>
kernel.x86_643.10.0-514.16.1.<wbr>el7<br>
<br>
<br>
The Qemu-KVM processes CPU parameters of the running VMs;<br>
<br>
-cpu Westmere,+vme,+ds,+acpi,+ss,+<wbr>ht,+tm,+pbe,+pclmuldq,+dtes64,<wbr>+monitor,+ds_cpl,+vmx,+smx,+<wbr>est,+tm2,+xtpr,+pdcm,+pcid,+<wbr>dca,+arat,+pdpe1gb,+rdtscp<br>
<br>
<br>
Guest CPU Configuration that fails to migrate;<br>
<br>
<cpu mode='host-model'><br>
<model fallback='allow'>Westmere</<wbr>model><br>
<vendor>Intel</vendor><br>
<topology sockets='1' cores='1' threads='1'/><br>
<feature policy='require' name='vme'/><br>
<feature policy='require' name='ds'/><br>
<feature policy='require' name='acpi'/><br>
<feature policy='require' name='ss'/><br>
<feature policy='require' name='ht'/><br>
<feature policy='require' name='tm'/><br>
<feature policy='require' name='pbe'/><br>
<feature policy='require' name='pclmuldq'/><br>
<feature policy='require' name='dtes64'/><br>
<feature policy='require' name='monitor'/><br>
<feature policy='require' name='ds_cpl'/><br>
<feature policy='require' name='vmx'/><br>
<feature policy='require' name='smx'/><br>
<feature policy='require' name='est'/><br>
<feature policy='require' name='tm2'/><br>
<feature policy='require' name='xtpr'/><br>
<feature policy='require' name='pdcm'/><br>
<feature policy='require' name='pcid'/><br>
<feature policy='require' name='dca'/><br>
<feature policy='require' name='arat'/><br>
<feature policy='require' name='pdpe1gb'/><br>
<feature policy='require' name='rdtscp'/><br>
</cpu><br>
<br>
<br>
Guest CPU Configuration that successfully migrates;<br>
<br>
<cpu mode='custom' match='exact'><br>
<model fallback='allow'>Westmere</<wbr>model><br>
<topology sockets='1' cores='1' threads='1'/><br>
</cpu><br>
<br>
<br>
Westmere Hosts CPU capabilities;<br>
<br>
<cpu><br>
<arch>x86_64</arch><br>
<model>Westmere</model><br>
<vendor>Intel</vendor><br>
<topology sockets='1' cores='4' threads='2'/><br>
<feature name='vme'/><br>
<feature name='ds'/><br>
<feature name='acpi'/><br>
<feature name='ss'/><br>
<feature name='ht'/><br>
<feature name='tm'/><br>
<feature name='pbe'/><br>
<feature name='pclmuldq'/><br>
<feature name='dtes64'/><br>
<feature name='monitor'/><br>
<feature name='ds_cpl'/><br>
<feature name='vmx'/><br>
<feature name='smx'/><br>
<feature name='est'/><br>
<feature name='tm2'/><br>
<feature name='xtpr'/><br>
<feature name='pdcm'/><br>
<feature name='pcid'/><br>
<feature name='dca'/><br>
<feature name='arat'/><br>
<feature name='pdpe1gb'/><br>
<feature name='rdtscp'/><br>
<feature name='invtsc'/><br>
<pages unit='KiB' size='4'/><br>
<pages unit='KiB' size='2048'/><br>
<pages unit='KiB' size=<br>
<br>
<br>
Broadwell Host CPU Capabilities;<br>
<br>
<cpu><br>
<arch>x86_64</arch><br>
<model>Broadwell</model><br>
<vendor>Intel</vendor><br>
<topology sockets='1' cores='12' threads='2'/><br>
<feature name='vme'/><br>
<feature name='ds'/><br>
<feature name='acpi'/><br>
<feature name='ss'/><br>
<feature name='ht'/><br>
<feature name='tm'/><br>
<feature name='pbe'/><br>
<feature name='dtes64'/><br>
<feature name='monitor'/><br>
<feature name='ds_cpl'/><br>
<feature name='vmx'/><br>
<feature name='smx'/><br>
<feature name='est'/><br>
<feature name='tm2'/><br>
<feature name='xtpr'/><br>
<feature name='pdcm'/><br>
<feature name='dca'/><br>
<feature name='osxsave'/><br>
<feature name='f16c'/><br>
<feature name='rdrand'/><br>
<feature name='arat'/><br>
<feature name='tsc_adjust'/><br>
<feature name='cmt'/><br>
<feature name='xsaveopt'/><br>
<feature name='mbm_total'/><br>
<feature name='mbm_local'/><br>
<feature name='pdpe1gb'/><br>
<feature name='abm'/><br>
<feature name='invtsc'/><br>
<pages unit='KiB' size='4'/><br>
<pages unit='KiB' size='2048'/><br>
<pages unit='KiB' size='1048576'/><br>
</cpu><br>
<br>
Regards,<br>
Oisin<br>
<br>
Oisin O'Malley<br>
Systems Engineer<br>
Iocane Pty Ltd<br>
763 South Road<br>
Black Forest SA 5035<br>
<br>
Office:+61 (8) 8413 1010<br>
Fax:+61 (8) 8231 2050<br>
<a href="mailto:Email%3Aoisin.omalley@iocane.com.au">Email:oisin.omalley@iocane.<wbr>com.au</a><br>
Web:<a href="http://www.iocane.com.au" rel="noreferrer" target="_blank">www.iocane.com.au</a><br>
<br>
Better for business<br>
<br>
______________________________<wbr>_________________<br>
CentOS-virt mailing list<br>
<a href="mailto:CentOS-virt@centos.org">CentOS-virt@centos.org</a><br>
<a href="https://lists.centos.org/mailman/listinfo/centos-virt" rel="noreferrer" target="_blank">https://lists.centos.org/<wbr>mailman/listinfo/centos-virt</a><br>
</blockquote></div><br></div>