summaryrefslogtreecommitdiff
path: root/nova/tests/unit/compute/test_resource_tracker.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-04-26 17:01:42 +0000
committerGerrit Code Review <review@openstack.org>2023-04-26 17:01:42 +0000
commit66f085f946752f7f84804efa22f739a7119a6efc (patch)
tree35543b6d2c1da86c07d553d5bf09d4a4c7148768 /nova/tests/unit/compute/test_resource_tracker.py
parent316e3e0a3b24fcb0597fd3193ec4d8f6fc0abc44 (diff)
parent82deb0ce4be588d675882a28ef7cacb97d8ffd1b (diff)
downloadnova-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.py19
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')