nova/nova
Matt Riedemann e279ac4046 Make ResourceTracker.stats node-specific
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 b5b7d86bb0)
(cherry picked from commit 7d99f5753f)
2018-08-07 15:45:05 -04:00
..
CA
api Cleanup RP and HM records while deleting a compute service. 2018-07-05 16:35:24 -04:00
cells Merge "Handle uuids in os-hypervisors API" 2017-07-20 01:03:27 +00:00
cmd cleanup mapping/reqspec after archive instance 2018-07-06 21:52:43 +00:00
common
compute Make ResourceTracker.stats node-specific 2018-08-07 15:45:05 -04:00
conductor Use instance project/user when creating RequestSpec during resize reschedule 2018-06-25 16:38:22 -04:00
conf Merge "Change consecutive build failure limit to a weigher" into stable/pike 2018-06-25 06:23:18 +00:00
console Merge "Remove translation of log messages" 2017-08-10 11:39:03 +00:00
consoleauth Merge "Remove translation of log messages" 2017-08-10 11:39:03 +00:00
db cleanup mapping/reqspec after archive instance 2018-07-06 21:52:43 +00:00
hacking Remove unused variable 2017-06-12 18:19:57 +07:00
image Merge "Handle glance exception during rotating instance backup" into stable/pike 2018-03-08 15:43:26 +00:00
ipv6
keymgr Remove key_manager.api_class hack 2017-07-17 17:49:08 -04:00
locale Imported Translations from Zanata 2017-08-10 11:34:33 +00:00
network Fix wrapping of neutron forbidden error 2018-04-10 17:11:23 +00:00
notifications Fix sending legacy instance.update notification 2017-10-10 13:20:34 -04:00
objects Merge "Fix unbound local when saving an unchanged RequestSpec" into stable/pike 2018-07-30 17:54:49 +00:00
pci Modify PciPassthroughFilter to accept lists 2017-04-11 19:49:07 +00:00
policies Add policy rule to block image-backed servers with 0 root disk flavor 2018-06-18 14:00:35 -04:00
scheduler Make host_aggregate_map dictionary case-insensitive 2018-07-25 09:41:56 +00:00
servicegroup Fix the display of updated_at time when using memcache driver. 2017-05-26 16:48:07 +08:00
tests Make ResourceTracker.stats node-specific 2018-08-07 15:45:05 -04:00
virt libvirt: add method to configure migration speed 2018-07-30 07:57:46 +00:00
vnc
volume Translate the return value of attachment_create and _update 2017-07-25 21:16:03 -04:00
__init__.py Make eventlet hub use a monotonic clock 2018-01-26 18:09:18 +08:00
availability_zones.py Avoid lazy-load error when getting instance AZ 2017-05-25 15:46:22 -04:00
baserpc.py
block_device.py
cache_utils.py remove log translation tags from nova.cells 2017-04-10 14:48:07 +00:00
config.py
context.py Regenerate context during targeting 2017-10-17 00:55:48 +00:00
crypto.py
debugger.py
exception.py Add policy rule to block image-backed servers with 0 root disk flavor 2018-06-18 14:00:35 -04:00
exception_wrapper.py Remove **kwargs passing in payload __init__ 2017-06-08 08:50:40 +00:00
filters.py
hooks.py
i18n.py
loadables.py
manager.py
policy.py Add policy granularity to the Flavors API 2017-07-19 15:56:47 -04:00
profiler.py
quota.py Make Quotas object favor the API database 2017-07-20 21:02:18 +00:00
rpc.py Merge "Account for compute.metrics.update in legacy notification whitelist" into stable/pike 2017-10-24 11:46:57 +00:00
safe_utils.py Allow wrapping of closures 2017-07-20 10:07:52 +01:00
service.py Make eventlet hub use a monotonic clock 2018-01-26 18:09:18 +08:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-12-07 12:34:37 -05:00
test.py Change consecutive build failure limit to a weigher 2018-06-14 07:32:36 -07:00
utils.py Move the last_bytes util method to libvirt 2017-07-26 08:36:32 +10:00
version.py
weights.py
wsgi.py