OpenStack Compute (Nova)
Go to file
Artom Lifshitz 79d1f06094 libvirt: call get_capabilities() with all CPUs online
While we do cache the hosts's capabilities in self._caps in the
libvirt Host object, if we happen to fist call get_capabilities() with
some of our dedicated CPUs offline, libvirt erroneously reports them
as being on socket 0 regardless of their real socket. We would then
cache that topology, thus breaking pretty much all of our NUMA
accounting.

To fix this, this patch makes sure to call get_capabilities()
immediately upon host init, and to power up all our dedicated CPUs
before doing so. That way, we cache their real socket ID.

For testing, because we don't really want to implement a libvirt bug
in our Python libvirt fixture, we make due with a simple unit tests
that asserts that init_host() has powered on the correct CPUs.

Closes-bug: 2077228
Change-Id: I9a2a7614313297f11a55d99fb94916d3583a9504
2024-08-17 09:20:26 -04:00
api-guide/source Merge "doc: Remove crud from conf.py file" 2023-12-05 12:56:37 +00:00
api-ref/source Reject AZ changes during aggregate add / remove host 2024-05-08 14:56:56 +02:00
devstack Merge "[codespell] doc,devstack and gate typos" 2023-12-11 17:44:04 +00:00
doc Merge "docs: Follow up for persistent mdevs" 2024-05-27 11:01:32 +00:00
etc/nova Fix missing oslo.versionedobjects library option 2023-09-19 04:43:01 +00:00
gate [S-RBAC] adapt nova-next for port's binding:profile field change 2024-02-22 19:39:39 +00:00
nova libvirt: call get_capabilities() with all CPUs online 2024-08-17 09:20:26 -04:00
playbooks Merge "Enable virtio-scsi in nova-next" 2024-05-20 21:41:24 +00:00
releasenotes Merge "Fix guard for NVMeOF volumes" 2024-08-09 05:11:51 +00:00
roles run-evacuate-hook: Check cinder before creating BFV server 2024-02-06 17:52:30 +00:00
tools [tools] Backport validator: handle unmaintained 2024-07-12 23:10:26 +02:00
.coveragerc Fix coverage issues with eventlet 2023-11-10 20:12:31 +00:00
.git-blame-ignore-revs ignore sphinx-lint series in git blame 2024-04-17 13:34:25 +01:00
.gitignore db: Enable auto-generation of API DB migrations 2021-10-18 20:26:18 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:45:52 +00:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.pre-commit-config.yaml pre-commit: Bump autopep8 version and update repo 2024-06-27 08:11:33 +00:00
.stestr.conf Finish stestr migration 2017-11-24 16:51:12 -05:00
.zuul.yaml Merge "[CI] Replace deprecated regex" 2024-07-24 23:38:49 +00:00
bindep.txt Fix bindep for Debian bookworm 2023-08-13 09:16:27 +02:00
CONTRIBUTING.rst [Community goal] Update contributor documentation 2020-03-25 12:01:37 +00:00
HACKING.rst [codespell] start fixing all the typos 2023-10-03 00:51:35 +01:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MAINTAINERS Fix broken URLs 2017-09-07 15:42:31 +02:00
README.rst HyperV: Remove extra specs of HyperV driver 2024-02-13 20:25:22 +00:00
requirements.txt Remove old excludes 2024-05-01 01:30:04 +09:00
setup.cfg Merge "Update python classifier in setup.cfg" 2024-03-15 10:01:27 +00:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Remove old excludes 2024-05-01 01:30:04 +09:00
tox.ini Merge "fix py312 tox definitions" 2024-05-21 17:43:27 +00:00

OpenStack Nova

image

OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), VMware and OpenStack Ironic.

Use the following resources to learn more.

API

To learn how to use Nova's API, consult the documentation available online at:

For more information on OpenStack APIs, SDKs and CLIs in general, refer to:

Operators

To learn how to deploy and configure OpenStack Nova, consult the documentation available online at:

In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:

Developers

For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst.

Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests.

Further developer focused documentation is available at:

Other Information

During each Summit and Project Team Gathering, we agree on what the whole community wants to focus on for the upcoming release. The plans for nova can be found at: