Add a new exception for live migration.

Raises new exception InvalidLocalStorage instead of
InvalidSharedStorage when block migration is used with shared storage.
Corrects the message of InvalidSharedStorage.

Fixes bug 1043165

Change-Id: I68bfac3f89276edc38c00ca963911fe07456dc0d
This commit is contained in:
Jian Wen 2012-08-29 22:29:25 +08:00
parent 20c6bb6c90
commit f94391fb41
3 changed files with 9 additions and 5 deletions

View File

@ -864,7 +864,11 @@ class VolumeTypeExists(Duplicate):
class InvalidSharedStorage(NovaException):
message = _("%(path)s is on shared storage: %(reason)s")
message = _("%(path)s is not on shared storage: %(reason)s")
class InvalidLocalStorage(NovaException):
message = _("%(path)s is not on local storage: %(reason)s")
class MigrationError(NovaException):

View File

@ -1762,7 +1762,7 @@ class LibvirtConnTestCase(test.TestCase):
conn._check_shared_storage_test_file("file").AndReturn(True)
self.mox.ReplayAll()
self.assertRaises(exception.InvalidSharedStorage,
self.assertRaises(exception.InvalidLocalStorage,
conn.check_can_live_migrate_source,
self.context, instance_ref, dest_check_data)

View File

@ -2242,7 +2242,7 @@ class LibvirtDriver(driver.ComputeDriver):
"""
# Checking shared storage connectivity
# if block migration, instances_paths should not be on shared storage.
dest = FLAGS.host
source = FLAGS.host
filename = dest_check_data["filename"]
block_migration = dest_check_data["block_migration"]
@ -2252,12 +2252,12 @@ class LibvirtDriver(driver.ComputeDriver):
if shared:
reason = _("Block migration can not be used "
"with shared storage.")
raise exception.InvalidSharedStorage(reason=reason, path=dest)
raise exception.InvalidLocalStorage(reason=reason, path=source)
elif not shared:
reason = _("Live migration can not be used "
"without shared storage.")
raise exception.InvalidSharedStorage(reason=reason, path=dest)
raise exception.InvalidSharedStorage(reason=reason, path=source)
def _get_compute_info(self, context, host):
"""Get compute host's information specified by key"""