As of change I6827137f35c0cb4f9fc4c6f753d9a035326ed01b in
Ocata, the ResourceTracker manages multiple compute nodes
via its "compute_nodes" variable, but the "stats" variable
was still being shared across all nodes, which leads to
leaking stats across nodes in an ironic deployment where
a single nova-compute service host is managing multiple
ironic instances (nodes).
This change makes ResourceTracker.stats node-specific
which fixes the ironic leak but also allows us to remove
the stats deepcopy while iterating over instances which
should improve performance for single-node deployments with
potentially a large number of instances, i.e. vCenter.
Conflicts: nova/compute/manager.py
NOTE(mriedem): The conflict was due to not having change
Iae904afb6cb4fcea8bb27741d774ffbe986a5fb4 in Pike.
NOTE(mriedem): The check for node is None was moved from
_do_build_and_run_instance to build_and_run_instance because
the functional tests are using the ChanceScheduler since we
don't have change I12de2e195022593ea2a3e2894f2c3b5226930d4f
and the ChanceScheduler does not return the nodename during
select_destinations so the compute has to get it from the
driver.
Change-Id: I0b9e5b711878fa47ba90e43c0b41437b57cf8ef6
Closes-Bug: #1784705
Closes-Bug: #1777422
(cherry picked from commit b5b7d86bb04f92d21cf954cd6b3463c9fcc637e6)
(cherry picked from commit 7d99f5753f992bd4b58b0aaa7f83f71fb044776f)
Reviewed: https:/ /review. openstack. org/588037 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=e279ac40467 3784f33610cad55 288e2e60649f88
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit e279ac404673784 f33610cad55288e 2e60649f88
Author: Matt Riedemann <email address hidden>
Date: Tue Jul 31 17:26:47 2018 -0400
Make ResourceTracker .stats node-specific
As of change I6827137f35c0cb 4f9fc4c6f753d9a 035326ed01b in
Ocata, the ResourceTracker manages multiple compute nodes
via its "compute_nodes" variable, but the "stats" variable
was still being shared across all nodes, which leads to
leaking stats across nodes in an ironic deployment where
a single nova-compute service host is managing multiple
ironic instances (nodes).
This change makes ResourceTracker .stats node-specific
which fixes the ironic leak but also allows us to remove
the stats deepcopy while iterating over instances which
should improve performance for single-node deployments with
potentially a large number of instances, i.e. vCenter.
Conflicts:
nova/ compute/ manager. py
NOTE(mriedem): The conflict was due to not having change b4fcea8bb27741d 774ffbe986a5fb4 in Pike.
Iae904afb6c
NOTE(mriedem): The check for node is None was moved from build_and_ run_instance to build_and_ run_instance because 3ea2a3e2894f2c3 b5226930d4f destinations so the compute has to get it from the
_do_
the functional tests are using the ChanceScheduler since we
don't have change I12de2e19502259
and the ChanceScheduler does not return the nodename during
select_
driver.
Change-Id: I0b9e5b711878fa 47ba90e43c0b414 37b57cf8ef6 21cf954cd6b3463 c9fcc637e6) 4b58b0aaa7f83f7 1fb044776f)
Closes-Bug: #1784705
Closes-Bug: #1777422
(cherry picked from commit b5b7d86bb04f92d
(cherry picked from commit 7d99f5753f992bd