libvirt: remove unnecessary flavor parameter
The instance now has the flavor as part of the object. There is no reason to pass this to: - _get_guest_config_meta - _get_guest_xml The unit test test_get_guest_config was also updated. The flavor in the test has 3 disks and these need to be validated correctly. Change-Id: I1170aefcd4912e091f4b85e91d351b4372522fa9
This commit is contained in:
parent
dd48494877
commit
48b499d3a7
@ -937,6 +937,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
|||||||
swap=33550336,
|
swap=33550336,
|
||||||
extra_specs={})
|
extra_specs={})
|
||||||
instance_ref = objects.Instance(**test_instance)
|
instance_ref = objects.Instance(**test_instance)
|
||||||
|
instance_ref.flavor = flavor
|
||||||
image_meta = {}
|
image_meta = {}
|
||||||
|
|
||||||
disk_info = blockinfo.get_disk_info(CONF.libvirt.virt_type,
|
disk_info = blockinfo.get_disk_info(CONF.libvirt.virt_type,
|
||||||
@ -946,7 +947,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
|||||||
cfg = drvr._get_guest_config(instance_ref,
|
cfg = drvr._get_guest_config(instance_ref,
|
||||||
_fake_network_info(self.stubs, 1),
|
_fake_network_info(self.stubs, 1),
|
||||||
{}, disk_info,
|
{}, disk_info,
|
||||||
context=ctxt, flavor=flavor)
|
context=ctxt)
|
||||||
|
|
||||||
self.assertEqual(cfg.uuid, instance_ref["uuid"])
|
self.assertEqual(cfg.uuid, instance_ref["uuid"])
|
||||||
self.assertEqual(2, len(cfg.features))
|
self.assertEqual(2, len(cfg.features))
|
||||||
@ -959,24 +960,26 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
|||||||
self.assertEqual(cfg.os_type, vm_mode.HVM)
|
self.assertEqual(cfg.os_type, vm_mode.HVM)
|
||||||
self.assertEqual(cfg.os_boot_dev, ["hd"])
|
self.assertEqual(cfg.os_boot_dev, ["hd"])
|
||||||
self.assertIsNone(cfg.os_root)
|
self.assertIsNone(cfg.os_root)
|
||||||
self.assertEqual(len(cfg.devices), 9)
|
self.assertEqual(len(cfg.devices), 10)
|
||||||
self.assertIsInstance(cfg.devices[0],
|
self.assertIsInstance(cfg.devices[0],
|
||||||
vconfig.LibvirtConfigGuestDisk)
|
vconfig.LibvirtConfigGuestDisk)
|
||||||
self.assertIsInstance(cfg.devices[1],
|
self.assertIsInstance(cfg.devices[1],
|
||||||
vconfig.LibvirtConfigGuestDisk)
|
vconfig.LibvirtConfigGuestDisk)
|
||||||
self.assertIsInstance(cfg.devices[2],
|
self.assertIsInstance(cfg.devices[2],
|
||||||
vconfig.LibvirtConfigGuestInterface)
|
vconfig.LibvirtConfigGuestDisk)
|
||||||
self.assertIsInstance(cfg.devices[3],
|
self.assertIsInstance(cfg.devices[3],
|
||||||
vconfig.LibvirtConfigGuestSerial)
|
vconfig.LibvirtConfigGuestInterface)
|
||||||
self.assertIsInstance(cfg.devices[4],
|
self.assertIsInstance(cfg.devices[4],
|
||||||
vconfig.LibvirtConfigGuestSerial)
|
vconfig.LibvirtConfigGuestSerial)
|
||||||
self.assertIsInstance(cfg.devices[5],
|
self.assertIsInstance(cfg.devices[5],
|
||||||
vconfig.LibvirtConfigGuestInput)
|
vconfig.LibvirtConfigGuestSerial)
|
||||||
self.assertIsInstance(cfg.devices[6],
|
self.assertIsInstance(cfg.devices[6],
|
||||||
vconfig.LibvirtConfigGuestGraphics)
|
vconfig.LibvirtConfigGuestInput)
|
||||||
self.assertIsInstance(cfg.devices[7],
|
self.assertIsInstance(cfg.devices[7],
|
||||||
vconfig.LibvirtConfigGuestVideo)
|
vconfig.LibvirtConfigGuestGraphics)
|
||||||
self.assertIsInstance(cfg.devices[8],
|
self.assertIsInstance(cfg.devices[8],
|
||||||
|
vconfig.LibvirtConfigGuestVideo)
|
||||||
|
self.assertIsInstance(cfg.devices[9],
|
||||||
vconfig.LibvirtConfigMemoryBalloon)
|
vconfig.LibvirtConfigMemoryBalloon)
|
||||||
self.assertEqual(len(cfg.metadata), 1)
|
self.assertEqual(len(cfg.metadata), 1)
|
||||||
self.assertIsInstance(cfg.metadata[0],
|
self.assertIsInstance(cfg.metadata[0],
|
||||||
@ -1022,11 +1025,9 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
|||||||
self.flags(virt_type='lxc', group='libvirt')
|
self.flags(virt_type='lxc', group='libvirt')
|
||||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
||||||
instance_ref = objects.Instance(**self.test_instance)
|
instance_ref = objects.Instance(**self.test_instance)
|
||||||
flavor = instance_ref.get_flavor()
|
|
||||||
|
|
||||||
cfg = drvr._get_guest_config(instance_ref,
|
cfg = drvr._get_guest_config(instance_ref,
|
||||||
_fake_network_info(self.stubs, 1),
|
_fake_network_info(self.stubs, 1),
|
||||||
None, {'mapping': {}}, flavor=flavor)
|
None, {'mapping': {}})
|
||||||
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
||||||
self.assertEqual(2 * units.Mi, cfg.memory)
|
self.assertEqual(2 * units.Mi, cfg.memory)
|
||||||
self.assertEqual(1, cfg.vcpus)
|
self.assertEqual(1, cfg.vcpus)
|
||||||
@ -1048,11 +1049,9 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
|||||||
self.flags(gid_maps=['0:1000:100'], group='libvirt')
|
self.flags(gid_maps=['0:1000:100'], group='libvirt')
|
||||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
||||||
instance_ref = objects.Instance(**self.test_instance)
|
instance_ref = objects.Instance(**self.test_instance)
|
||||||
flavor = instance_ref.get_flavor()
|
|
||||||
|
|
||||||
cfg = drvr._get_guest_config(instance_ref,
|
cfg = drvr._get_guest_config(instance_ref,
|
||||||
_fake_network_info(self.stubs, 1),
|
_fake_network_info(self.stubs, 1),
|
||||||
None, {'mapping': {}}, flavor=flavor)
|
None, {'mapping': {}})
|
||||||
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
||||||
self.assertEqual(2 * units.Mi, cfg.memory)
|
self.assertEqual(2 * units.Mi, cfg.memory)
|
||||||
self.assertEqual(1, cfg.vcpus)
|
self.assertEqual(1, cfg.vcpus)
|
||||||
@ -11586,7 +11585,6 @@ Active: 8381604 kB
|
|||||||
self.flags(images_type='ploop', group='libvirt')
|
self.flags(images_type='ploop', group='libvirt')
|
||||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
|
||||||
instance_ref = objects.Instance(**self.test_instance)
|
instance_ref = objects.Instance(**self.test_instance)
|
||||||
flavor = instance_ref.get_flavor()
|
|
||||||
|
|
||||||
image_meta = {}
|
image_meta = {}
|
||||||
|
|
||||||
@ -11596,7 +11594,7 @@ Active: 8381604 kB
|
|||||||
|
|
||||||
cfg = drvr._get_guest_config(instance_ref,
|
cfg = drvr._get_guest_config(instance_ref,
|
||||||
_fake_network_info(self.stubs, 1),
|
_fake_network_info(self.stubs, 1),
|
||||||
None, disk_info, flavor=flavor)
|
None, disk_info)
|
||||||
self.assertEqual("parallels", cfg.virt_type)
|
self.assertEqual("parallels", cfg.virt_type)
|
||||||
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
||||||
self.assertEqual(2 * units.Mi, cfg.memory)
|
self.assertEqual(2 * units.Mi, cfg.memory)
|
||||||
@ -11624,11 +11622,10 @@ Active: 8381604 kB
|
|||||||
ct_instance = self.test_instance.copy()
|
ct_instance = self.test_instance.copy()
|
||||||
ct_instance["vm_mode"] = vm_mode.EXE
|
ct_instance["vm_mode"] = vm_mode.EXE
|
||||||
instance_ref = objects.Instance(**ct_instance)
|
instance_ref = objects.Instance(**ct_instance)
|
||||||
flavor = instance_ref.get_flavor()
|
|
||||||
|
|
||||||
cfg = drvr._get_guest_config(instance_ref,
|
cfg = drvr._get_guest_config(instance_ref,
|
||||||
_fake_network_info(self.stubs, 1),
|
_fake_network_info(self.stubs, 1),
|
||||||
None, {'mapping': {}}, flavor=flavor)
|
None, {'mapping': {}})
|
||||||
self.assertEqual("parallels", cfg.virt_type)
|
self.assertEqual("parallels", cfg.virt_type)
|
||||||
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
self.assertEqual(instance_ref["uuid"], cfg.uuid)
|
||||||
self.assertEqual(2 * units.Mi, cfg.memory)
|
self.assertEqual(2 * units.Mi, cfg.memory)
|
||||||
|
@ -2349,8 +2349,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
xml = self._get_guest_xml(context, instance, network_info,
|
xml = self._get_guest_xml(context, instance, network_info,
|
||||||
disk_info, image_meta,
|
disk_info, image_meta,
|
||||||
block_device_info=block_device_info,
|
block_device_info=block_device_info,
|
||||||
write_to_disk=True,
|
write_to_disk=True)
|
||||||
flavor=instance.flavor)
|
|
||||||
self._create_domain_and_network(context, xml, instance, network_info,
|
self._create_domain_and_network(context, xml, instance, network_info,
|
||||||
disk_info,
|
disk_info,
|
||||||
block_device_info=block_device_info)
|
block_device_info=block_device_info)
|
||||||
@ -3277,7 +3276,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
|
|
||||||
return dev
|
return dev
|
||||||
|
|
||||||
def _get_guest_config_meta(self, context, instance, flavor):
|
def _get_guest_config_meta(self, context, instance):
|
||||||
"""Get metadata config for guest."""
|
"""Get metadata config for guest."""
|
||||||
|
|
||||||
meta = vconfig.LibvirtConfigGuestMetaNovaInstance()
|
meta = vconfig.LibvirtConfigGuestMetaNovaInstance()
|
||||||
@ -3298,6 +3297,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
meta.owner = ometa
|
meta.owner = ometa
|
||||||
|
|
||||||
fmeta = vconfig.LibvirtConfigGuestMetaNovaFlavor()
|
fmeta = vconfig.LibvirtConfigGuestMetaNovaFlavor()
|
||||||
|
flavor = instance.flavor
|
||||||
fmeta.name = flavor.name
|
fmeta.name = flavor.name
|
||||||
fmeta.memory = flavor.memory_mb
|
fmeta.memory = flavor.memory_mb
|
||||||
fmeta.vcpus = flavor.vcpus
|
fmeta.vcpus = flavor.vcpus
|
||||||
@ -3939,15 +3939,14 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
|
|
||||||
def _get_guest_config(self, instance, network_info, image_meta,
|
def _get_guest_config(self, instance, network_info, image_meta,
|
||||||
disk_info, rescue=None, block_device_info=None,
|
disk_info, rescue=None, block_device_info=None,
|
||||||
context=None, flavor=None):
|
context=None):
|
||||||
"""Get config data for parameters.
|
"""Get config data for parameters.
|
||||||
|
|
||||||
:param rescue: optional dictionary that should contain the key
|
:param rescue: optional dictionary that should contain the key
|
||||||
'ramdisk_id' if a ramdisk is needed for the rescue image and
|
'ramdisk_id' if a ramdisk is needed for the rescue image and
|
||||||
'kernel_id' if a kernel is needed for the rescue image.
|
'kernel_id' if a kernel is needed for the rescue image.
|
||||||
"""
|
"""
|
||||||
ctxt = context or nova_context.get_admin_context()
|
flavor = instance.flavor
|
||||||
flavor = self._get_flavor(ctxt, instance, flavor)
|
|
||||||
inst_path = libvirt_utils.get_instance_path(instance)
|
inst_path = libvirt_utils.get_instance_path(instance)
|
||||||
disk_mapping = disk_info['mapping']
|
disk_mapping = disk_info['mapping']
|
||||||
img_meta_prop = image_meta.get('properties', {}) if image_meta else {}
|
img_meta_prop = image_meta.get('properties', {}) if image_meta else {}
|
||||||
@ -3974,8 +3973,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
instance.numa_topology, guest_numa_config.numatune)
|
instance.numa_topology, guest_numa_config.numatune)
|
||||||
|
|
||||||
guest.metadata.append(self._get_guest_config_meta(context,
|
guest.metadata.append(self._get_guest_config_meta(context,
|
||||||
instance,
|
instance))
|
||||||
flavor))
|
|
||||||
guest.idmaps = self._get_guest_idmaps()
|
guest.idmaps = self._get_guest_idmaps()
|
||||||
|
|
||||||
self._update_guest_cputune(guest, flavor, virt_type)
|
self._update_guest_cputune(guest, flavor, virt_type)
|
||||||
@ -4134,8 +4132,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
|
|
||||||
def _get_guest_xml(self, context, instance, network_info, disk_info,
|
def _get_guest_xml(self, context, instance, network_info, disk_info,
|
||||||
image_meta, rescue=None,
|
image_meta, rescue=None,
|
||||||
block_device_info=None, write_to_disk=False,
|
block_device_info=None, write_to_disk=False):
|
||||||
flavor=None):
|
|
||||||
# NOTE(danms): Stringifying a NetworkInfo will take a lock. Do
|
# NOTE(danms): Stringifying a NetworkInfo will take a lock. Do
|
||||||
# this ahead of time so that we don't acquire it while also
|
# this ahead of time so that we don't acquire it while also
|
||||||
# holding the logging lock.
|
# holding the logging lock.
|
||||||
@ -4153,7 +4150,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||||||
LOG.debug(strutils.mask_password(msg), instance=instance)
|
LOG.debug(strutils.mask_password(msg), instance=instance)
|
||||||
conf = self._get_guest_config(instance, network_info, image_meta,
|
conf = self._get_guest_config(instance, network_info, image_meta,
|
||||||
disk_info, rescue, block_device_info,
|
disk_info, rescue, block_device_info,
|
||||||
context, flavor=flavor)
|
context)
|
||||||
xml = conf.to_xml()
|
xml = conf.to_xml()
|
||||||
|
|
||||||
if write_to_disk:
|
if write_to_disk:
|
||||||
|
Loading…
Reference in New Issue
Block a user