Pass disk_info dict to libvirt_info
We currently pass all members of the disk_info dict to libvirt_info when generating libvirt config. A subsequent change adds another key to this dict. Rather than add a fourth argument to libvirt_info, this pre-emptive change just passes the dict. Part of bp local-disk-serial-numbers Change-Id: I28c5bc23c0ea60d64153472d8937965f60f907c4
This commit is contained in:
parent
30cd052d09
commit
3519b49efd
@ -196,16 +196,15 @@ class ImageBackendFixture(fixtures.Fixture):
|
||||
if self.imported_files is not None:
|
||||
self.imported_files.append((local_filename, remote_filename))
|
||||
|
||||
def _fake_libvirt_info(self, mock_disk, disk_bus, disk_dev, device_type,
|
||||
cache_mode, extra_specs, hypervisor_version,
|
||||
disk_unit=None):
|
||||
def _fake_libvirt_info(self, mock_disk, disk_info, cache_mode,
|
||||
extra_specs, hypervisor_version, disk_unit=None):
|
||||
# For tests in test_virt_drivers which expect libvirt_info to be
|
||||
# functional
|
||||
info = config.LibvirtConfigGuestDisk()
|
||||
info.source_type = 'file'
|
||||
info.source_device = device_type
|
||||
info.target_bus = disk_bus
|
||||
info.target_dev = disk_dev
|
||||
info.source_device = disk_info['type']
|
||||
info.target_bus = disk_info['bus']
|
||||
info.target_dev = disk_info['dev']
|
||||
info.driver_cache = cache_mode
|
||||
info.driver_format = 'raw'
|
||||
info.source_path = mock_disk.path
|
||||
|
@ -171,10 +171,13 @@ class _ImageTestCase(object):
|
||||
'quota:disk_total_bytes_sec': 30 * units.Mi,
|
||||
'quota:disk_total_iops_sec': 3 * units.Ki,
|
||||
}
|
||||
disk_info = {
|
||||
'bus': 'virtio',
|
||||
'dev': '/dev/vda',
|
||||
'type': 'cdrom',
|
||||
}
|
||||
|
||||
disk = image.libvirt_info(disk_bus="virtio",
|
||||
disk_dev="/dev/vda",
|
||||
device_type="cdrom",
|
||||
disk = image.libvirt_info(disk_info,
|
||||
cache_mode="none",
|
||||
extra_specs=extra_specs,
|
||||
hypervisor_version=4004001,
|
||||
|
@ -3892,10 +3892,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
||||
if 'unit' in disk_mapping and disk_info['bus'] == 'scsi':
|
||||
disk_unit = disk_mapping['unit']
|
||||
disk_mapping['unit'] += 1 # Increments for the next disk added
|
||||
conf = disk.libvirt_info(disk_info['bus'],
|
||||
disk_info['dev'],
|
||||
disk_info['type'],
|
||||
self.disk_cachemode,
|
||||
conf = disk.libvirt_info(disk_info, self.disk_cachemode,
|
||||
inst_type['extra_specs'],
|
||||
self._host.get_version(),
|
||||
disk_unit=disk_unit)
|
||||
|
@ -119,24 +119,23 @@ class Image(object):
|
||||
"""
|
||||
pass
|
||||
|
||||
def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,
|
||||
def libvirt_info(self, disk_info, cache_mode,
|
||||
extra_specs, hypervisor_version, boot_order=None,
|
||||
disk_unit=None):
|
||||
"""Get `LibvirtConfigGuestDisk` filled for this image.
|
||||
|
||||
:disk_dev: Disk bus device name
|
||||
:disk_bus: Disk bus type
|
||||
:device_type: Device type for this image.
|
||||
:disk_info: Metadata generated by libvirt.blockinfo.get_disk_mapping
|
||||
:cache_mode: Caching mode for this image
|
||||
:extra_specs: Instance type extra specs dict.
|
||||
:hypervisor_version: the hypervisor version
|
||||
:boot_order: Disk device boot order
|
||||
"""
|
||||
disk_bus = disk_info['bus']
|
||||
info = vconfig.LibvirtConfigGuestDisk()
|
||||
info.source_type = self.source_type
|
||||
info.source_device = device_type
|
||||
info.source_device = disk_info['type']
|
||||
info.target_bus = disk_bus
|
||||
info.target_dev = disk_dev
|
||||
info.target_dev = disk_info['dev']
|
||||
info.driver_cache = cache_mode
|
||||
info.driver_discard = self.discard_mode
|
||||
info.driver_io = self.driver_io
|
||||
@ -825,28 +824,27 @@ class Rbd(Image):
|
||||
|
||||
self.discard_mode = CONF.libvirt.hw_disk_discard
|
||||
|
||||
def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,
|
||||
def libvirt_info(self, disk_info, cache_mode,
|
||||
extra_specs, hypervisor_version, boot_order=None,
|
||||
disk_unit=None):
|
||||
"""Get `LibvirtConfigGuestDisk` filled for this image.
|
||||
|
||||
:disk_dev: Disk bus device name
|
||||
:disk_bus: Disk bus type
|
||||
:device_type: Device type for this image.
|
||||
:disk_info: Metadata generated by libvirt.blockinfo.get_disk_mapping
|
||||
:cache_mode: Caching mode for this image
|
||||
:extra_specs: Instance type extra specs dict.
|
||||
:hypervisor_version: the hypervisor version
|
||||
:boot_order: Disk device boot order
|
||||
"""
|
||||
info = vconfig.LibvirtConfigGuestDisk()
|
||||
disk_bus = disk_info['bus']
|
||||
|
||||
hosts, ports = self.driver.get_mon_addrs()
|
||||
info.source_device = device_type
|
||||
info.source_device = disk_info['type']
|
||||
info.driver_format = 'raw'
|
||||
info.driver_cache = cache_mode
|
||||
info.driver_discard = self.discard_mode
|
||||
info.target_bus = disk_bus
|
||||
info.target_dev = disk_dev
|
||||
info.target_dev = disk_info['dev']
|
||||
info.source_type = 'network'
|
||||
info.source_protocol = 'rbd'
|
||||
info.source_name = '%s/%s' % (self.pool, self.rbd_name)
|
||||
|
Loading…
Reference in New Issue
Block a user