From 4d2b9edd8656719f7a09063c0f5125d05c358931 Mon Sep 17 00:00:00 2001 From: Jian Wen Date: Thu, 13 Sep 2012 15:46:59 +0800 Subject: libvirt: Cleanup L2 and L3 rules when confirm vm resize Cleanup security group and nwfilter rules on source node in resize-confirm. Add test cases for confirm_migration and _cleanup_resize. Fixes bug 1050196 Change-Id: Id5495c41f3b51aa555a540f2c8aa718b653ae034 --- nova/tests/test_libvirt.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index ede5afd31..d0b89f78f 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -3807,6 +3807,55 @@ class LibvirtDriverTestCase(test.TestCase): self.libvirtconnection.finish_revert_migration(ins_ref, None) + def test_confirm_migration(self): + ins_ref = self._create_instance() + + self.mox.StubOutWithMock(self.libvirtconnection, "_cleanup_resize") + self.libvirtconnection._cleanup_resize(ins_ref, + _fake_network_info(self.stubs, 1)) + + self.mox.ReplayAll() + self.libvirtconnection.confirm_migration("migration_ref", ins_ref, + _fake_network_info(self.stubs, 1)) + + def test_cleanup_resize_same_host(self): + ins_ref = self._create_instance({'host': FLAGS.host}) + + def fake_os_path_exists(path): + return True + + def fake_shutil_rmtree(target): + pass + + self.stubs.Set(os.path, 'exists', fake_os_path_exists) + self.stubs.Set(shutil, 'rmtree', fake_shutil_rmtree) + + self.mox.ReplayAll() + self.libvirtconnection._cleanup_resize(ins_ref, + _fake_network_info(self.stubs, 1)) + + def test_cleanup_resize_not_same_host(self): + host = 'not' + FLAGS.host + ins_ref = self._create_instance({'host': host}) + + def fake_os_path_exists(path): + return True + + def fake_shutil_rmtree(target): + pass + + def fake_unfilter_instance(instance, network_info): + pass + + self.stubs.Set(os.path, 'exists', fake_os_path_exists) + self.stubs.Set(shutil, 'rmtree', fake_shutil_rmtree) + self.stubs.Set(self.libvirtconnection.firewall_driver, + 'unfilter_instance', fake_unfilter_instance) + + self.mox.ReplayAll() + self.libvirtconnection._cleanup_resize(ins_ref, + _fake_network_info(self.stubs, 1)) + class LibvirtNonblockingTestCase(test.TestCase): """Test libvirt_nonblocking option""" -- cgit