From e354bc81e06c08d43e6635d98a3e8c60558a2867 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 12 Feb 2013 19:38:58 +0000 Subject: Use a more specific error reporting invalid disk hardware Instead of using NovaException for reporting invalid user specified disk hardware, use UnsupportedHardware and UnsupportedVirtType exceptions. Change-Id: I68ed1c0569bd0c0679e9fff3ffd436197f78a9f0 Signed-off-by: Daniel P. Berrange --- nova/tests/test_libvirt_blockinfo.py | 2 +- nova/virt/libvirt/blockinfo.py | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/nova/tests/test_libvirt_blockinfo.py b/nova/tests/test_libvirt_blockinfo.py index e8d548399..68f1fa394 100644 --- a/nova/tests/test_libvirt_blockinfo.py +++ b/nova/tests/test_libvirt_blockinfo.py @@ -421,7 +421,7 @@ class LibvirtBlockInfoTest(test.TestCase): self.assertEqual(bus, 'usb') image_meta = {'properties': {'disk_bus': 'xen'}} - self.assertRaises(exception.NovaException, + self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta) diff --git a/nova/virt/libvirt/blockinfo.py b/nova/virt/libvirt/blockinfo.py index fc4a7dbfb..0098410cd 100644 --- a/nova/virt/libvirt/blockinfo.py +++ b/nova/virt/libvirt/blockinfo.py @@ -175,8 +175,7 @@ def is_disk_bus_valid_for_virt(virt_type, disk_bus): } if virt_type not in valid_bus: - raise exception.NovaException( - _("Unsupported virt type %s") % virt_type) + raise exception.UnsupportedVirtType(virt=virt_type) return disk_bus in valid_bus[virt_type] @@ -200,9 +199,8 @@ def get_disk_bus_for_device_type(virt_type, disk_bus = image_meta.get('properties', {}).get(key) if disk_bus is not None: if not is_disk_bus_valid_for_virt(virt_type, disk_bus): - raise exception.NovaException( - _("Disk bus %(disk_bus)s is not valid for %(virt)s") % - {'disk_bus': disk_bus, 'virt': virt_type}) + raise exception.UnsupportedHardware(model=disk_bus, + virt=virt_type) return disk_bus # Otherwise pick a hypervisor default disk bus -- cgit