Merge "libvirt: Change _compare_cpu to raise InvalidCPUInfo"

This commit is contained in:
Zuul 2019-10-12 11:53:09 +00:00 committed by Gerrit Code Review
commit c270c48d09
2 changed files with 12 additions and 10 deletions

View File

@ -10251,7 +10251,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
compute_info = {'cpu_info': 'asdf', 'disk_available_least': 1}
mock_cpu.side_effect = exception.InvalidCPUInfo(reason='foo')
self.assertRaises(exception.InvalidCPUInfo,
self.assertRaises(exception.MigrationPreCheckError,
drvr.check_can_live_migrate_destination,
self.context, instance_ref,
compute_info, compute_info, False)
@ -10328,7 +10328,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
instance = objects.Instance(**self.test_instance)
mock_compare.side_effect = fakelibvirt.libvirtError('cpu')
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.assertRaises(exception.MigrationPreCheckError,
self.assertRaises(exception.InvalidCPUInfo,
conn._compare_cpu, None,
jsonutils.dumps(_fake_cpu_info),
instance)

View File

@ -793,8 +793,7 @@ class LibvirtDriver(driver.ComputeDriver):
cpu.add_feature(vconfig.LibvirtConfigCPUFeature(flag))
try:
self._compare_cpu(cpu, self._get_cpu_info(), None)
except (exception.InvalidCPUInfo,
exception.MigrationPreCheckError) as e:
except exception.InvalidCPUInfo as e:
msg = (_("Configured extra flag: %(flag)s it not correct, or "
"the host CPU does not support this flag. Please "
"correct the config and try again. %(e)s") % {
@ -7973,11 +7972,14 @@ class LibvirtDriver(driver.ComputeDriver):
(disk_available_gb * units.Ki) - CONF.reserved_host_disk_mb)
# Compare CPU
if not instance.vcpu_model or not instance.vcpu_model.model:
source_cpu_info = src_compute_info['cpu_info']
self._compare_cpu(None, source_cpu_info, instance)
else:
self._compare_cpu(instance.vcpu_model, None, instance)
try:
if not instance.vcpu_model or not instance.vcpu_model.model:
source_cpu_info = src_compute_info['cpu_info']
self._compare_cpu(None, source_cpu_info, instance)
else:
self._compare_cpu(instance.vcpu_model, None, instance)
except exception.InvalidCPUInfo as e:
raise exception.MigrationPreCheckError(reason=e)
# Create file on storage, to be checked on source host
filename = self._create_shared_storage_test_file(instance)
@ -8284,7 +8286,7 @@ class LibvirtDriver(driver.ComputeDriver):
return
else:
LOG.error(m, {'ret': e, 'u': u})
raise exception.MigrationPreCheckError(
raise exception.InvalidCPUInfo(
reason=m % {'ret': e, 'u': u})
if ret <= 0: