yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #85819
[Bug 1924257] [NEW] nova get_capabilities should not use host capabilities
Public bug reported:
Nova-compute will configure Broadwell-IBRS's features if using host capabilities by the function of get_capabilities, but the VM's real features is depend on the model of Broadwell-IBRS when cpu_mode is configured to host-model in nova.conf.
I think it is unreasonable because nova will use host capabilities to
compare CPU when live_migration, but the VM isn't it. It is likely lead
to live migrate ERROR because of the incompatible features.
-----------------------------------------------------------------------------------------------------------
root@cmp004:~# qemu-system-x86_64 --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1.4~u16.04+mcp2)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
root@cmp004:~# libvirtd -V
libvirtd (libvirt) 4.0.0
openstack version: queens
root@cmp004:~# virsh domcapabilities
<domainCapabilities>
<cpu>
<mode name='host-model' supported='yes'>
<model fallback='forbid'>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='invtsc'/>
<feature policy='disable' name='mpx'/>
<feature policy='disable' name='xsavec'/>
<feature policy='disable' name='xgetbv1'/>
</mode>
</cpu>
</domainCapabilities>
root@cmp004:~# virsh capabilities
<capabilities>
<host>
<cpu>
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
<microcode version='184549422'/>
<topology sockets='1' cores='8' threads='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
<feature name='ht'/>
<feature name='tm'/>
<feature name='pbe'/>
<feature name='dtes64'/>
<feature name='monitor'/>
<feature name='ds_cpl'/>
<feature name='vmx'/>
<feature name='smx'/>
<feature name='est'/>
<feature name='tm2'/>
<feature name='xtpr'/>
<feature name='pdcm'/>
<feature name='dca'/>
<feature name='osxsave'/>
<feature name='f16c'/>
<feature name='rdrand'/>
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='cmt'/>
<feature name='ssbd'/>
<feature name='xsaveopt'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
<feature name='invtsc'/>
<pages unit='KiB' size='4'/>
<pages unit='KiB' size='1048576'/>
</cpu>
</host>
<capabilities>
root@ctl01:~# nova hypervisor-show c8f34226-c2e9-4c09-bdbe-aaaff1a1d370
+---------------------------+------------------------------------------+
| Property | Value |
+---------------------------+------------------------------------------+
| cpu_info_arch | x86_64 |
| cpu_info_features | ["pge", "avx", "xsaveopt", "clflush", |
| | "sep", "rtm", "tsc_adjust", "tsc- |
| | deadline", "dtes64", "invpcid", "tsc", |
| | "fsgsbase", "xsave", "smap", "vmx", |
| | "erms", "xtpr", "cmov", "hle", "smep", |
| | "ssse3", "est", "pat", "monitor", "smx", |
| | "pbe", "lm", "msr", "adx", |
| | "3dnowprefetch", "nx", "fxsr", |
| | "syscall", "tm", "sse4.1", "pae", |
| | "sse4.2", "pclmuldq", "cx16", "pcid", |
| | "fma", "vme", "popcnt", "mmx", |
| | "osxsave", "cx8", "mce", "de", "rdtscp", |
| | "ht", "dca", "lahf_lm", "abm", "rdseed", |
| | "pdcm", "mca", "pdpe1gb", "apic", "sse", |
| | "f16c", "pse", "ds", "invtsc", "pni", |
| | "tm2", "avx2", "aes", "sse2", "ss", |
| | "ds_cpl", "arat", "bmi1", "bmi2", |
| | "acpi", "spec-ctrl", "fpu", "ssbd", |
| | "pse36", "mtrr", "movbe", "rdrand", |
| | "x2apic"] |
| cpu_info_model | Broadwell-IBRS |
| service_host | cmp004 |
| service_id | 5e04fa07-db8a-4e84-a895-411c704b9d64 |
+---------------------------+------------------------------------------+
root@cmp004:~# ps -ef |grep instance-000124b5
root 16456 10674 0 17:24 pts/12 00:00:00 grep --color=auto instance-000124b5
libvirt+ 18623 1 7 16:15 ? 00:04:59 qemu-system-x86_64 -enable-kvm -cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc_adjust=on,ssbd=on,pdpe1gb=on,mpx=off,xsavec=off,xgetbv1=off ...
** Affects: nova
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1924257
Title:
nova get_capabilities should not use host capabilities
Status in OpenStack Compute (nova):
New
Bug description:
Nova-compute will configure Broadwell-IBRS's features if using host capabilities by the function of get_capabilities, but the VM's real features is depend on the model of Broadwell-IBRS when cpu_mode is configured to host-model in nova.conf.
I think it is unreasonable because nova will use host capabilities to
compare CPU when live_migration, but the VM isn't it. It is likely
lead to live migrate ERROR because of the incompatible features.
-----------------------------------------------------------------------------------------------------------
root@cmp004:~# qemu-system-x86_64 --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1.4~u16.04+mcp2)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
root@cmp004:~# libvirtd -V
libvirtd (libvirt) 4.0.0
openstack version: queens
root@cmp004:~# virsh domcapabilities
<domainCapabilities>
<cpu>
<mode name='host-model' supported='yes'>
<model fallback='forbid'>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='invtsc'/>
<feature policy='disable' name='mpx'/>
<feature policy='disable' name='xsavec'/>
<feature policy='disable' name='xgetbv1'/>
</mode>
</cpu>
</domainCapabilities>
root@cmp004:~# virsh capabilities
<capabilities>
<host>
<cpu>
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
<microcode version='184549422'/>
<topology sockets='1' cores='8' threads='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
<feature name='ht'/>
<feature name='tm'/>
<feature name='pbe'/>
<feature name='dtes64'/>
<feature name='monitor'/>
<feature name='ds_cpl'/>
<feature name='vmx'/>
<feature name='smx'/>
<feature name='est'/>
<feature name='tm2'/>
<feature name='xtpr'/>
<feature name='pdcm'/>
<feature name='dca'/>
<feature name='osxsave'/>
<feature name='f16c'/>
<feature name='rdrand'/>
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='cmt'/>
<feature name='ssbd'/>
<feature name='xsaveopt'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
<feature name='invtsc'/>
<pages unit='KiB' size='4'/>
<pages unit='KiB' size='1048576'/>
</cpu>
</host>
<capabilities>
root@ctl01:~# nova hypervisor-show c8f34226-c2e9-4c09-bdbe-aaaff1a1d370
+---------------------------+------------------------------------------+
| Property | Value |
+---------------------------+------------------------------------------+
| cpu_info_arch | x86_64 |
| cpu_info_features | ["pge", "avx", "xsaveopt", "clflush", |
| | "sep", "rtm", "tsc_adjust", "tsc- |
| | deadline", "dtes64", "invpcid", "tsc", |
| | "fsgsbase", "xsave", "smap", "vmx", |
| | "erms", "xtpr", "cmov", "hle", "smep", |
| | "ssse3", "est", "pat", "monitor", "smx", |
| | "pbe", "lm", "msr", "adx", |
| | "3dnowprefetch", "nx", "fxsr", |
| | "syscall", "tm", "sse4.1", "pae", |
| | "sse4.2", "pclmuldq", "cx16", "pcid", |
| | "fma", "vme", "popcnt", "mmx", |
| | "osxsave", "cx8", "mce", "de", "rdtscp", |
| | "ht", "dca", "lahf_lm", "abm", "rdseed", |
| | "pdcm", "mca", "pdpe1gb", "apic", "sse", |
| | "f16c", "pse", "ds", "invtsc", "pni", |
| | "tm2", "avx2", "aes", "sse2", "ss", |
| | "ds_cpl", "arat", "bmi1", "bmi2", |
| | "acpi", "spec-ctrl", "fpu", "ssbd", |
| | "pse36", "mtrr", "movbe", "rdrand", |
| | "x2apic"] |
| cpu_info_model | Broadwell-IBRS |
| service_host | cmp004 |
| service_id | 5e04fa07-db8a-4e84-a895-411c704b9d64 |
+---------------------------+------------------------------------------+
root@cmp004:~# ps -ef |grep instance-000124b5
root 16456 10674 0 17:24 pts/12 00:00:00 grep --color=auto instance-000124b5
libvirt+ 18623 1 7 16:15 ? 00:04:59 qemu-system-x86_64 -enable-kvm -cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc_adjust=on,ssbd=on,pdpe1gb=on,mpx=off,xsavec=off,xgetbv1=off ...
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1924257/+subscriptions