Skip to content

Commit

Permalink
Add tests for pre_live_migration
Browse files Browse the repository at this point in the history
Add tests to ensure retrying plug_vifs in pre_live_migration works.

Closes-bug: #1228749
Change-Id: I80d4cdc27836511c55b2555556edd7a1964c7158
  • Loading branch information
Hirofumi Ichihara authored and Jian Wen committed Sep 22, 2013
1 parent 3db4372 commit b1ff457
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions nova/tests/virt/libvirt/test_libvirt.py
Expand Up @@ -3064,6 +3064,37 @@ def fixed_ips(self):
inst_ref['name'])))
db.instance_destroy(self.context, inst_ref['uuid'])

def test_pre_live_migration_plug_vifs_retry_fails(self):
self.flags(live_migration_retry_count=3)
instance = {'name': 'test', 'uuid': 'uuid'}

def fake_plug_vifs(instance, network_info):
raise processutils.ProcessExecutionError()

conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.stubs.Set(conn, 'plug_vifs', fake_plug_vifs)
self.assertRaises(processutils.ProcessExecutionError,
conn.pre_live_migration,
self.context, instance, block_device_info=None,
network_info=[], disk_info={})

def test_pre_live_migration_plug_vifs_retry_works(self):
self.flags(live_migration_retry_count=3)
called = {'count': 0}
instance = {'name': 'test', 'uuid': 'uuid'}

def fake_plug_vifs(instance, network_info):
called['count'] += 1
if called['count'] < CONF.live_migration_retry_count:
raise processutils.ProcessExecutionError()
else:
return

conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.stubs.Set(conn, 'plug_vifs', fake_plug_vifs)
conn.pre_live_migration(self.context, instance, block_device_info=None,
network_info=[], disk_info={})

def test_get_instance_disk_info_works_correctly(self):
# Test data
instance_ref = db.instance_create(self.context, self.test_instance)
Expand Down

0 comments on commit b1ff457

Please sign in to comment.