summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorDerek Higgins <higginsd@gmail.com>2011-11-04 00:25:34 +0000
committerDerek Higgins <higginsd@gmail.com>2011-11-09 22:48:46 +0000
commitad7fcf225e126d2a719c04019c4daa1616d2159e (patch)
tree0f28ccdebc4bd1d19bfa4367f80f345372f7f386 /nova/tests
parent7a2e8a1d6798a1ff669cd245f35922c45b733b12 (diff)
Undefine libvirt saved instances
Fixes bug 814561 Adding a call to managedSaveRemove if the instance has a saved instance, so they are now undefined in addition to running instances during destroy With test case Also added myself to Authors Change-Id: If93e8ac6972116152f38e187bd1a61c652855814
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_libvirt.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py
index 28af606bc..d0ca361ad 100644
--- a/nova/tests/test_libvirt.py
+++ b/nova/tests/test_libvirt.py
@@ -1063,6 +1063,25 @@ class LibvirtConnTestCase(test.TestCase):
instance = db.instance_create(self.context, self.test_instance)
conn.destroy(instance, {})
+ @test.skip_if(missing_libvirt(), "Test requires libvirt")
+ def test_destroy_saved(self):
+ """Ensure destroy calls managedSaveRemove for saved instance"""
+ mock = self.mox.CreateMock(libvirt.virDomain)
+ mock.destroy()
+ mock.hasManagedSaveImage(0).AndReturn(1)
+ mock.managedSaveRemove(0)
+ mock.undefine()
+
+ self.mox.ReplayAll()
+
+ def fake_lookup_by_name(instance_name):
+ return mock
+
+ conn = connection.LibvirtConnection(False)
+ self.stubs.Set(conn, '_lookup_by_name', fake_lookup_by_name)
+ instance = {"name": "instancename", "id": "instanceid"}
+ conn.destroy(instance, [])
+
class HostStateTestCase(test.TestCase):