From ffdabac84c3a8dc528a6b64280cddf82f79463d8 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Thu, 12 Jan 2012 21:28:49 -0800 Subject: Clean up disk_format mapping in xenapi.vm_utils Change-Id: I0ffd375c7655d66d807b10ebdb16f17024309749 --- nova/virt/xenapi/vm_utils.py | 47 +++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) (limited to 'nova/virt') diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index 6cda61204..3c03d2a59 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -705,35 +705,28 @@ class VMHelper(HelperBase): 2. If we're not using Glance, then we need to deduce this based on whether a kernel_id is specified. """ - def log_disk_format(image_type): - pretty_format = {ImageType.KERNEL: 'KERNEL', - ImageType.RAMDISK: 'RAMDISK', - ImageType.DISK: 'DISK', - ImageType.DISK_RAW: 'DISK_RAW', - ImageType.DISK_VHD: 'DISK_VHD', - ImageType.DISK_ISO: 'DISK_ISO'} - disk_format = pretty_format[image_type] - image_ref = image_meta['id'] - LOG.debug(_("Detected %(disk_format)s format for image " - "%(image_ref)s") % locals()) - - def determine_from_image_meta(): - glance_disk_format2nova_type = { - 'ami': ImageType.DISK, - 'aki': ImageType.KERNEL, - 'ari': ImageType.RAMDISK, - 'raw': ImageType.DISK_RAW, - 'vhd': ImageType.DISK_VHD, - 'iso': ImageType.DISK_ISO} - disk_format = image_meta['disk_format'] - try: - return glance_disk_format2nova_type[disk_format] - except KeyError: - raise exception.InvalidDiskFormat(disk_format=disk_format) + disk_format = image_meta['disk_format'] + + disk_format_map = { + 'ami': 'DISK', + 'aki': 'KERNEL', + 'ari': 'RAMDISK', + 'raw': 'DISK_RAW', + 'vhd': 'DISK_VHD', + 'iso': 'DISK_ISO', + } + + try: + image_type_str = disk_format_map[disk_format] + except KeyError: + raise exception.InvalidDiskFormat(disk_format=disk_format) + + image_type = getattr(ImageType, image_type_str) - image_type = determine_from_image_meta() + image_ref = image_meta['id'] + msg = _("Detected %(image_type_str)s format for image %(image_ref)s") + LOG.debug(msg % locals()) - log_disk_format(image_type) return image_type @classmethod -- cgit