Fix object assumption in remove_deleted_instances()

The RT tracks instance dicts for some reason. Fix that and make the
test poke the previous issue.

Change-Id: Iae3b2aa8e655f51f6fffd98dd02fa8e1cd9366c3
Closes-Bug: #1624119
This commit is contained in:
Dan Smith 2016-09-15 15:07:32 -07:00
parent d1795c5267
commit 30a85c8bcf
2 changed files with 7 additions and 2 deletions

View File

@ -442,7 +442,7 @@ class SchedulerReportClient(object):
if allocations is None:
allocations = {}
instance_dict = {instance.uuid: instance
instance_dict = {instance['uuid']: instance
for instance in instance_uuids}
removed_instances = set(allocations.keys()) - set(instance_dict.keys())

View File

@ -769,9 +769,14 @@ class SchedulerReportClientTestCase(test.NoDBTestCase):
inst2.uuid: fake_allocations,
}
}
# One instance still on the node, dict form as the
# RT tracks it
inst3 = {'uuid': 'foo'}
mock_delete.return_value = True
with mock.patch.object(self.client, '_allocations'):
self.client.remove_deleted_instances(cn, [])
self.client.remove_deleted_instances(cn, [inst3])
mock_get.assert_called_once_with(
'/resource_providers/%s/allocations' % cn.uuid)
expected_calls = [