hw:mem_page_size is not respecting all documented values
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Dongcan Ye |
Bug Description
Per the Rocky documentation for hugepages:
https:/
2MB hugepages can be specified either as:
--property hw:mem_
--property hw:mem_
However, whenever I use the former notation (2Mb), conductor fails with the misleading NUMA error below... whereas with the latter notation (2048), allocation succeeds and the resulting instance is backed with 2MB hugepages on an x86_64 platform (as verified by checking `/proc/meminfo | grep HugePages_Free` before/after stopping the created instance).
ERROR nova.scheduler.
Additional info:
I am using Debian testing (buster) and all OpenStack packages included therein.
$ dpkg -l | grep nova
ii nova-common 2:18.1.0-2 all OpenStack Compute - common files
ii nova-compute 2:18.1.0-2 all OpenStack Compute - compute node
ii nova-compute-kvm 2:18.1.0-2 all OpenStack Compute - compute node (KVM)
ii python3-nova 2:18.1.0-2 all OpenStack Compute - libraries
ii python3-novaclient 2:11.0.0-2 all client library for OpenStack Compute API - 3.x
$ dpkg -l | grep qemu
ii ipxe-qemu 1.0.0+git-
ii qemu-block-
ii qemu-kvm 1:3.1+dfsg-2+b1 amd64 QEMU Full virtualization on x86 hardware
ii qemu-system-common 1:3.1+dfsg-2+b1 amd64 QEMU full system emulation binaries (common files)
ii qemu-system-data 1:3.1+dfsg-2 all QEMU full system emulation (data files)
ii qemu-system-gui 1:3.1+dfsg-2+b1 amd64 QEMU full system emulation binaries (user interface and audio support)
ii qemu-system-x86 1:3.1+dfsg-2+b1 amd64 QEMU full system emulation binaries (x86)
ii qemu-utils 1:3.1+dfsg-2+b1 amd64 QEMU utilities
* I forced nova to allocate on the same hypervisor (node1) when checking for the issue and can repeatedly allocate using a flavor which specifies hugepages with hw:mem_
* I am using libvirt+kvm. I don't think it matters, but I am using Ceph as a storage backend and neutron in a very basic VLAN-based segmentation configuration (no OVS or anything remotely fancy).
* I specified hw:numa_nodes='1' when creating the flavor... and all my hypervisors only have 1 NUMA node, so allocation should always succeed as long as there are free huge pages (which there are).
tags: | added: numa |
Changed in nova: | |
assignee: | nobody → Dongcan Ye (hellochosen) |
Could you trying hw:mem_ page_size= 2MB here?