Merge "Allow specification of the libvirt guest CPU model per host"
This commit is contained in:
@@ -614,6 +614,76 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
config.LibvirtConfigGuestDisk)
|
||||
self.assertEquals(cfg.devices[3].target_dev, 'vdd')
|
||||
|
||||
def test_get_guest_cpu_config_none(self):
|
||||
conn = libvirt_driver.LibvirtDriver(True)
|
||||
instance_ref = db.instance_create(self.context, self.test_instance)
|
||||
|
||||
conf = conn.get_guest_config(instance_ref,
|
||||
_fake_network_info(self.stubs, 1),
|
||||
None, None)
|
||||
self.assertEquals(conf.cpu, None)
|
||||
|
||||
@test.skip_if(missing_libvirt(), "Test requires libvirt")
|
||||
def test_get_guest_cpu_config_host_passthrough_new(self):
|
||||
def get_lib_version_stub(self):
|
||||
return (0 * 1000 * 1000) + (9 * 1000) + 11
|
||||
|
||||
self.stubs.Set(libvirt.virConnect,
|
||||
"getLibVersion",
|
||||
get_lib_version_stub)
|
||||
conn = libvirt_driver.LibvirtDriver(True)
|
||||
instance_ref = db.instance_create(self.context, self.test_instance)
|
||||
|
||||
self.flags(libvirt_cpu_mode="host-passthrough")
|
||||
conf = conn.get_guest_config(instance_ref,
|
||||
_fake_network_info(self.stubs, 1),
|
||||
None, None)
|
||||
self.assertEquals(type(conf.cpu),
|
||||
config.LibvirtConfigGuestCPU)
|
||||
self.assertEquals(conf.cpu.mode, "host-passthrough")
|
||||
self.assertEquals(conf.cpu.model, None)
|
||||
|
||||
@test.skip_if(missing_libvirt(), "Test requires libvirt")
|
||||
def test_get_guest_cpu_config_host_model_new(self):
|
||||
def get_lib_version_stub(self):
|
||||
return (0 * 1000 * 1000) + (9 * 1000) + 11
|
||||
|
||||
self.stubs.Set(libvirt.virConnect,
|
||||
"getLibVersion",
|
||||
get_lib_version_stub)
|
||||
conn = libvirt_driver.LibvirtDriver(True)
|
||||
instance_ref = db.instance_create(self.context, self.test_instance)
|
||||
|
||||
self.flags(libvirt_cpu_mode="host-model")
|
||||
conf = conn.get_guest_config(instance_ref,
|
||||
_fake_network_info(self.stubs, 1),
|
||||
None, None)
|
||||
self.assertEquals(type(conf.cpu),
|
||||
config.LibvirtConfigGuestCPU)
|
||||
self.assertEquals(conf.cpu.mode, "host-model")
|
||||
self.assertEquals(conf.cpu.model, None)
|
||||
|
||||
@test.skip_if(missing_libvirt(), "Test requires libvirt")
|
||||
def test_get_guest_cpu_config_custom_new(self):
|
||||
def get_lib_version_stub(self):
|
||||
return (0 * 1000 * 1000) + (9 * 1000) + 11
|
||||
|
||||
self.stubs.Set(libvirt.virConnect,
|
||||
"getLibVersion",
|
||||
get_lib_version_stub)
|
||||
conn = libvirt_driver.LibvirtDriver(True)
|
||||
instance_ref = db.instance_create(self.context, self.test_instance)
|
||||
|
||||
self.flags(libvirt_cpu_mode="custom")
|
||||
self.flags(libvirt_cpu_model="Penryn")
|
||||
conf = conn.get_guest_config(instance_ref,
|
||||
_fake_network_info(self.stubs, 1),
|
||||
None, None)
|
||||
self.assertEquals(type(conf.cpu),
|
||||
config.LibvirtConfigGuestCPU)
|
||||
self.assertEquals(conf.cpu.mode, "custom")
|
||||
self.assertEquals(conf.cpu.model, "Penryn")
|
||||
|
||||
def test_xml_and_uri_no_ramdisk_no_kernel(self):
|
||||
instance_data = dict(self.test_instance)
|
||||
self._check_xml_and_uri(instance_data,
|
||||
|
||||
Reference in New Issue
Block a user