commit fa3cf7d50cba921ea67eb161e6a199067ea62deb
Author: Jay Faulkner <email address hidden>
Date: Mon Nov 13 15:21:31 2023 -0800
[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.
Reviewed: https:/ /review. opendev. org/c/openstack /nova/+ /900831 /opendev. org/openstack/ nova/commit/ fa3cf7d50cba921 ea67eb161e6a199 067ea62deb
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit fa3cf7d50cba921 ea67eb161e6a199 067ea62deb
Author: Jay Faulkner <email address hidden>
Date: Mon Nov 13 15:21:31 2023 -0800
[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 06848c29294fdaa 147beedb5a5
Change-Id: If31158e3269e5e