summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_xenapi.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py
index 7e9265718..3056661b4 100644
--- a/nova/tests/test_xenapi.py
+++ b/nova/tests/test_xenapi.py
@@ -713,13 +713,26 @@ class XenAPIVMTestCase(test.TestCase):
def test_rescue(self):
instance = self._create_instance()
session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass')
- vm = vm_utils.VMHelper.lookup(session, instance.name)
- vbd = xenapi_fake.create_vbd(vm, None)
+ vm_ref = vm_utils.VMHelper.lookup(session, instance.name)
+
+ xenapi_fake.create_vbd(vm_ref, "swap", userdevice=1)
+ xenapi_fake.create_vbd(vm_ref, "rootfs", userdevice=0)
+
conn = xenapi_conn.get_connection(False)
image_meta = {'id': glance_stubs.FakeGlance.IMAGE_VHD,
'disk_format': 'vhd'}
conn.rescue(self.context, instance, [], image_meta)
+ vm = xenapi_fake.get_record('VM', vm_ref)
+ rescue_name = "%s-rescue" % vm["name_label"]
+ rescue_ref = vm_utils.VMHelper.lookup(session, rescue_name)
+ rescue_vm = xenapi_fake.get_record('VM', rescue_ref)
+
+ vdi_uuids = []
+ for vbd_uuid in rescue_vm["VBDs"]:
+ vdi_uuids.append(xenapi_fake.get_record('VBD', vbd_uuid)["VDI"])
+ self.assertTrue("swap" not in vdi_uuids)
+
def test_unrescue(self):
instance = self._create_instance()
conn = xenapi_conn.get_connection(False)