Validated that the code works as intended but noted that this code breaks oversubscription of memory for instances with a NUMA topology but no hugepages: https://bugzilla.redhat.com/show_bug.cgi?id=1664698 verification steps ------------------ 1. On the controller node of a fresh deployment: $ mysql -u nova -ss -r -e "select numa_topology from nova.compute_nodes where ID=2 ;" | python -m json.tool ... "mempages": [ { "nova_object.changes": [ "total", "used", "reserved", "size_kb" ], "nova_object.data": { "reserved": 0, "size_kb": 4, "total": 8594000, "used": 0 }, "nova_object.name": "NUMAPagesTopology", "nova_object.namespace": "nova", "nova_object.version": "1.1" }, ... 2. launch a flavor $ openstack flavor create --id 1234 --vcpus 1 --ram 64 --disk 15 test-flavor $ openstack flavor set --property hw:numa_nodes=1 test-flavor $ openstack server create test-vm --flavor test-flavor --image test-rhel75 3. Comparing the value in the db $ mysql -u nova -ss -r -e "select numa_topology from nova.compute_nodes where ID=2 ;" | python -m json.tool ... "mempages": [ { "nova_object.changes": [ "total", "used", "reserved", "size_kb" ], "nova_object.data": { "reserved": 0, "size_kb": 4, "total": 8594000, "used": 16384 }, "nova_object.name": "NUMAPagesTopology", "nova_object.namespace": "nova", "nova_object.version": "1.1" }, ... Running a full diff on the output of both requests we can check: $ diff before.log after.log ... 20c20 < "cpu_usage": 0, --- > "cpu_usage": 1, 41c41 < "memory_usage": 0, --- > "memory_usage": 64, 54c54 < "used": 0 --- > "used": 16384 62d61 ...
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:0045