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.
Reviewed: https:/ /review. openstack. org/587636 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=b5b7d86bb04 f92d21cf954cd6b 3463c9fcc637e6
Committed: https:/
Submitter: Zuul
Branch: master
commit b5b7d86bb04f92d 21cf954cd6b3463 c9fcc637e6
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.
Change-Id: I0b9e5b711878fa 47ba90e43c0b414 37b57cf8ef6
Closes-Bug: #1784705
Closes-Bug: #1777422