Bug 1915098
Summary: | [OSP13] NUMA instance spawn fails on get_best_cpu_topology when there is no 'threads' preference | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | melanie witt <mwitt> |
Component: | openstack-nova | Assignee: | Stephen Finucane <stephenfin> |
Status: | CLOSED EOL | QA Contact: | OSP DFG:Compute <osp-dfg-compute> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 13.0 (Queens) | CC: | cmuresan, dasmith, eglynn, fgadkano, gkadam, jhakimra, jmitterm, kchamart, nova-maint, sbauza, sgordon, smooney, sraje, stephenfin, vromanso |
Target Milestone: | --- | Keywords: | Patch, Triaged, ZStream |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | 1915097 | Environment: | |
Last Closed: | 2023-07-11 21:05:26 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1915097 | ||
Bug Blocks: |
Comment 3
Nilesh
2021-02-17 01:17:21 UTC
To attempt to workaround this bug, you could try to specify a preference for number of threads (hw:cpu_threads) in the flavor or image. The logic in the code is that when hw:cpu_threads is not specified, a value of hw:cpu_threads=1 will be used. Then, it will choose a CPU topology from the list of possible topologies that has threads <= to hw:cpu_threads [1]. If hw:cpu_threads=1, then only topologies with threads=1 will match. The bug occurs when no hw:cpu_threads is specified, hw:cpu_threads=1 and if no topologies in the list of possible topologies have threads=1, an empty list of valid topologies is returned and the IndexError happens. The idea behind the workaround is that if you set hw:cpu_threads=2 or hw:cpu_threads=4 then you will be able to match topologies with threads=4 or threads=3 or threads=2 or threads=1. [1] https://github.com/openstack/nova/blob/stable/queens/nova/virt/hardware.py#L455-L466 actully not quite hw:cpu_threads=2 means exactly 2 we generally recomend that hw:cpu_threads should be set to the number of threads on your hosts. gernerally it will be 2. you should set the sockets to equal the number of numa nodes requested in teh vm and the cores shoudl be un restrited to allow the number of cores to increase per vcpu requested. nova only support 2 things either a max for threads,cores and sockets or an exact value. we do not support a preference. |