nova/nova/tests/functional/libvirt
Eric Fried deef31729b Reduce calls to placement from _ensure
Prior to this patch, the report client's update_from_provider_tree
method would, upon failure of any placement API call, invalidate the
cache *just* for the failing provider (and any descendants) and attempt
to continue operating on any other providers in the tree.

With this patch, we instead invalidate the tree around the failing
provider and fail right away.

In real life, since we don't yet have any implementations of nested,
this would have been effectively a null change.

Except: this allows us to resolve a TODO whereby we would *always*
_ensure_resource_provider (including a call to GET
/resource_providers?in_tree=$compute_rp) on every periodic. Now we can
optimize that out.

This should reduce the number of calls to placement per RT periodic to
zero in steady state when [compute]resource_provider_association_refresh
is zero.

Closes-Bug: #1742467

Change-Id: Ieeaad9783e0ff93377fbc6c7932618d2fac8946a
2019-01-16 18:34:34 +00:00
..
__init__.py tests: introduce a NUMAServersTest class 2015-04-16 11:43:53 -04:00
base.py Use external placement in functional tests 2018-12-12 18:46:49 +00:00
test_numa_servers.py Refactor NeutronFixture 2018-09-17 11:29:36 +00:00
test_pci_sriov_servers.py tests: Create functional libvirt test base class 2018-08-23 17:37:50 +00:00
test_report_cpu_traits.py Reduce calls to placement from _ensure 2019-01-16 18:34:34 +00:00
test_rt_servers.py tests: Create functional libvirt test base class 2018-08-23 17:37:50 +00:00
test_shared_resource_provider.py Use uuidsentinel from oslo.utils 2018-09-05 09:08:54 -05:00