nova/releasenotes/notes/ironic-list-instance-respect-partition-key-339ff653eaa00753.yaml
Jay Faulkner fa3cf7d50c [ironic] Partition & use cache for list_instance*
list_instances and list_instance_uuids, as written in the Ironic driver,
do not currently respect conductor_group paritioning. Given a nova
compute is intended to limit it's scope of work to the conductor group
it is configured to work with; this is a bug.

Additionally, this should be a significant performance boost for a
couple of reasons; firstly, instead of calling the Ironic API and
getting all nodes, instead of the subset (when using conductor group),
we're now properly getting the subset of nodes -- this is the optimized
path in the Ironic DB and API code. Secondly, we're now using the
driver's node cache to respond to these requests. Since list_instances
and list_instance_uuids is used by periodic tasks, these operating with
data that may be slightly stale should have minimal impact compared to
the performance benefits.

Closes-bug: #2043036
Change-Id: If31158e3269e5e06848c29294fdaa147beedb5a5
2023-12-19 14:56:42 -08:00

6 lines
317 B
YAML

fixes:
- Ironic virt driver now uses the node cache and respects partition keys,
such as conductor group, for list_instances and list_instance_uuids calls.
This fix will improve performance of the periodic queries which use these
driver methods and reduce API and DB load on the backing Ironic service.