diff options
author | Zuul <zuul@review.opendev.org> | 2023-04-26 17:01:42 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-04-26 17:01:42 +0000 |
commit | 66f085f946752f7f84804efa22f739a7119a6efc (patch) | |
tree | 35543b6d2c1da86c07d553d5bf09d4a4c7148768 /nova/tests/unit/compute/test_resource_tracker.py | |
parent | 316e3e0a3b24fcb0597fd3193ec4d8f6fc0abc44 (diff) | |
parent | 82deb0ce4be588d675882a28ef7cacb97d8ffd1b (diff) | |
download | nova-66f085f946752f7f84804efa22f739a7119a6efc.tar.gz |
Merge "Stop ignoring missing compute nodes in claims"
Diffstat (limited to 'nova/tests/unit/compute/test_resource_tracker.py')
-rw-r--r-- | nova/tests/unit/compute/test_resource_tracker.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/nova/tests/unit/compute/test_resource_tracker.py b/nova/tests/unit/compute/test_resource_tracker.py index cd36b8987f..b6770cb5b8 100644 --- a/nova/tests/unit/compute/test_resource_tracker.py +++ b/nova/tests/unit/compute/test_resource_tracker.py @@ -2231,14 +2231,19 @@ class TestInstanceClaim(BaseTestCase): self.rt.compute_nodes = {} self.assertTrue(self.rt.disabled(_NODENAME)) - with mock.patch.object(self.instance, 'save'): - claim = self.rt.instance_claim(mock.sentinel.ctx, self.instance, - _NODENAME, self.allocations, None) + # Reset all changes to the instance to make sure that we can detect + # any manipulation after the failure. + self.instance.obj_reset_changes(recursive=True) - self.assertEqual(self.rt.host, self.instance.host) - self.assertEqual(self.rt.host, self.instance.launched_on) - self.assertEqual(_NODENAME, self.instance.node) - self.assertIsInstance(claim, claims.NopClaim) + with mock.patch.object(self.instance, 'save') as mock_save: + self.assertRaises(exc.ComputeResourcesUnavailable, + self.rt.instance_claim, + mock.sentinel.ctx, self.instance, + _NODENAME, self.allocations, None) + mock_save.assert_not_called() + + # Make sure the instance was not touched by the failed claim process + self.assertEqual(set(), self.instance.obj_what_changed()) @mock.patch('nova.compute.utils.is_volume_backed_instance') @mock.patch('nova.objects.MigrationList.get_in_progress_and_error') |