summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/compute/test_compute.py34
-rw-r--r--nova/tests/test_virt_drivers.py4
2 files changed, 34 insertions, 4 deletions
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index ccc9614c5..079a25d27 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -2788,6 +2788,40 @@ class ComputeTestCase(BaseTestCase):
self.assertEqual(call_info['get_by_uuid'], 3)
self.assertEqual(call_info['get_nw_info'], 4)
+ def test_poll_rescued_instances(self):
+ timed_out_time = timeutils.utcnow() - datetime.timedelta(minutes=5)
+ not_timed_out_time = timeutils.utcnow()
+
+ instances = [{'uuid': 'fake_uuid1', 'vm_state': vm_states.RESCUED,
+ 'launched_at': timed_out_time},
+ {'uuid': 'fake_uuid2', 'vm_state': vm_states.ACTIVE,
+ 'launched_at': timed_out_time},
+ {'uuid': 'fake_uuid3', 'vm_state': vm_states.ACTIVE,
+ 'launched_at': not_timed_out_time},
+ {'uuid': 'fake_uuid4', 'vm_state': vm_states.RESCUED,
+ 'launched_at': timed_out_time},
+ {'uuid': 'fake_uuid5', 'vm_state': vm_states.RESCUED,
+ 'launched_at': not_timed_out_time}]
+ unrescued_instances = {'fake_uuid1': False, 'fake_uuid4': False}
+
+ def fake_instance_get_all_by_host(context, host):
+ return instances
+
+ def fake_unrescue(self, context, instance):
+ unrescued_instances[instance['uuid']] = True
+
+ self.stubs.Set(self.compute.conductor_api, 'instance_get_all_by_host',
+ fake_instance_get_all_by_host)
+ self.stubs.Set(compute_api.API, 'unrescue', fake_unrescue)
+
+ self.flags(rescue_timeout=60)
+ ctxt = context.get_admin_context()
+
+ self.compute._poll_rescued_instances(ctxt)
+
+ for instance in unrescued_instances.values():
+ self.assertTrue(instance)
+
def test_poll_unconfirmed_resizes(self):
instances = [{'uuid': 'fake_uuid1', 'vm_state': vm_states.RESIZED,
'task_state': None},
diff --git a/nova/tests/test_virt_drivers.py b/nova/tests/test_virt_drivers.py
index 834763540..563b3a44b 100644
--- a/nova/tests/test_virt_drivers.py
+++ b/nova/tests/test_virt_drivers.py
@@ -283,10 +283,6 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
self.connection.poll_rebooting_instances(10, instances)
@catch_notimplementederror
- def test_poll_rescued_instances(self):
- self.connection.poll_rescued_instances(10)
-
- @catch_notimplementederror
def test_migrate_disk_and_power_off(self):
instance_ref, network_info = self._get_running_instance()
instance_type_ref = test_utils.get_test_instance_type()