Merge "Revert "[libvirt] Filter hypervisor_type by virt_type"" into stable/stein
This commit is contained in:
commit
70c611dcfd
|
@ -16302,8 +16302,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
self.assertEqual(6, drvr._get_vcpu_used())
|
||||
mock_list.assert_called_with(only_guests=True, only_running=True)
|
||||
|
||||
def _test_get_instance_capabilities(self, want):
|
||||
'''Base test for 'get_capabilities' function. '''
|
||||
def test_get_instance_capabilities(self):
|
||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
||||
|
||||
def get_host_capabilities_stub(self):
|
||||
|
@ -16334,28 +16333,12 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
self.stub_out('nova.virt.libvirt.host.Host.get_capabilities',
|
||||
get_host_capabilities_stub)
|
||||
|
||||
want = [(fields.Architecture.X86_64, 'kvm', 'hvm'),
|
||||
(fields.Architecture.X86_64, 'qemu', 'hvm'),
|
||||
(fields.Architecture.I686, 'kvm', 'hvm')]
|
||||
got = drvr._get_instance_capabilities()
|
||||
self.assertEqual(want, got)
|
||||
|
||||
def test_get_instance_capabilities_kvm(self):
|
||||
self.flags(virt_type='kvm', group='libvirt')
|
||||
|
||||
# Because virt_type is set to kvm, we get only
|
||||
# capabilities where the hypervisor_type is kvm
|
||||
want = [(fields.Architecture.X86_64, 'kvm', 'hvm'),
|
||||
(fields.Architecture.I686, 'kvm', 'hvm')]
|
||||
|
||||
self._test_get_instance_capabilities(want)
|
||||
|
||||
def test_get_instance_capabilities_qemu(self):
|
||||
self.flags(virt_type='qemu', group='libvirt')
|
||||
|
||||
# Because virt_type is set to qemu, we get only
|
||||
# capabilities where the hypervisor_type is qemu
|
||||
want = [(fields.Architecture.X86_64, 'qemu', 'hvm')]
|
||||
|
||||
self._test_get_instance_capabilities(want)
|
||||
|
||||
def test_set_cache_mode(self):
|
||||
self.flags(disk_cachemodes=['file=directsync'], group='libvirt')
|
||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
||||
|
|
|
@ -5942,17 +5942,12 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||
hypervisor is capable of hosting. Each tuple consists
|
||||
of the triplet (arch, hypervisor_type, vm_mode).
|
||||
|
||||
Supported hypervisor_type is filtered by virt_type,
|
||||
a parameter set by operators via `nova.conf`.
|
||||
|
||||
:returns: List of tuples describing instance capabilities
|
||||
"""
|
||||
caps = self._host.get_capabilities()
|
||||
instance_caps = list()
|
||||
for g in caps.guests:
|
||||
for dt in g.domtype:
|
||||
if dt != CONF.libvirt.virt_type:
|
||||
continue
|
||||
try:
|
||||
instance_cap = (
|
||||
fields.Architecture.canonicalize(g.arch),
|
||||
|
|
Loading…
Reference in New Issue