nova/nova/virt
Stephen Finucane b24ad3780b Fix overcommit for NUMA-based instances
Change I5f5c621f2f0fa1bc18ee9a97d17085107a5dee53 modified how we
evaluated available memory for instances with a NUMA topology.
Previously, we used a non-pagesize aware check unless the user had
explicitly requested a specific pagesize. This means that for instances
without pagesize requests, nova considers hugepages as available memory
when deciding if a host has enough available memory for the instance.

The aforementioned change modified this so that all NUMA-based
instances, whether they had hugepages or not, would use the
pagesize-aware check. Unfortunately the functionality it was reusing to
do this was functionality previously only used for hugepages. Hugepages
cannot be oversubscribed so we did not take oversubscription into
account, comparing against available memory on the host (i.e. memory not
consumed by other instances) rather than total memory. This is OK when
using hugepages but not small pages, where overcommit is OK.

Given that overcommit is already handled elsewhere in the code, we
simply modify the non-hugepage code path to check for available memory
of the lowest pagesize vs. total memory.

Change-Id: I890b2c81cd49c1c601e9baee6a249709d0f6810e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1810977
2019-01-16 11:50:14 +00:00
..
disk Remove utils.execute() from virt.disk.api. 2018-12-12 09:38:20 +11:00
hyperv Remove utils.execute() from the hyperv driver. 2018-12-12 09:38:20 +11:00
image libvirt: virtuozzo instance resize support 2016-06-28 22:13:49 +03:00
ironic Fix ironic client ironic_url deprecation warning 2018-10-24 17:59:10 +02:00
libvirt Merge "Move some linux network helpers to use privsep." 2019-01-15 03:04:30 +00:00
powervm Merge "Use new ``initial_xxx_allocation_ratio`` CONF" 2018-12-08 15:32:38 +00:00
vmwareapi VMware: Live migration of instances 2018-10-02 10:13:57 +03:00
xenapi Remove utils.execute() calls from xenapi. 2018-12-04 16:04:30 +11:00
zvm Fix missing print format error 2018-07-20 16:29:53 +08:00
__init__.py
arch.py Added ability to configure default architecture for ImagePropertiesFilter 2018-05-14 16:55:13 -04:00
block_device.py Add compute version 36 to support ``volume_type`` 2018-10-11 16:00:48 -04:00
configdrive.py Convert configdrive to use processutils. 2018-05-02 21:42:05 +10:00
driver.py Merge "Use new ``initial_xxx_allocation_ratio`` CONF" 2018-12-08 15:32:38 +00:00
event.py Port binding based on events during live migration 2018-07-19 09:09:55 -04:00
fake.py Use new ``initial_xxx_allocation_ratio`` CONF 2018-11-30 15:32:06 -05:00
firewall.py Merge "Remove translation of log messages" 2017-06-20 21:16:49 +00:00
hardware.py Fix overcommit for NUMA-based instances 2019-01-16 11:50:14 +00:00
imagecache.py
images.py Remove the final user of utils.execute() from virt.images 2018-12-12 09:38:20 +11:00
interfaces.template
netutils.py libvirt: add vf_trusted field for network metadata 2018-05-30 15:11:59 -04:00
osinfo.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
storage_users.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
virtapi.py