Fix ProviderUsageBaseTestCase._run_periodics for multi-cell
Fix ProviderUsageBaseTestCase._run_periodics for multi-cell

The _run_periodics() method is using a non-targeted context
when running the update_available_resource method on all
computes created in the test. For tests that use multiple
cells where the compute services/nodes are created in multiple
cells, the periodic running on the non-cell1 services would
not find the ComputeNode because the context is not targeted.
By default, the CellDatabase fixture is targeted at cell1 in
the base TestCase._setup_cells() method, so when querying the
database without a targeted context, it will look in cell1
which could be wrong if you're trying to update resources in
cell2.

This fixes the issue by simply getting the CellMapping per host
and targeting the context before calling update_available_resource.

Change-Id: Ieeac3bdb82a23179ff6c652b2e9e05a3f6bc9032

mahak/nova,openstack/nova,openstack/nova,mahak/nova,rahulunair/nova,klmitch/nova,rahulunair/nova,rahulunair/nova,klmitch/nova,klmitch/nova,mahak/nova,klmitch/nova,openstack/nova