From 985876e9a8aa68e722702d5b997b8136cb65fbf6 Mon Sep 17 00:00:00 2001 From: zhufl Date: Thu, 18 Apr 2019 10:22:42 +0800 Subject: [PATCH] Pass kwargs to exception to get better format of error message If we do not pass kwargs to exception, the parameter will be deemed as message and will be displayed directly. This is to pass kwargs to MultipleHostsFound and UnsupportedResourceType, to get better format of error message. Change-Id: Ib40ee68249b34f3e83100c5da8d30e13ff820dfa --- blazar/db/sqlalchemy/utils.py | 3 ++- blazar/manager/service.py | 6 ++++-- blazar/utils/openstack/nova.py | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/blazar/db/sqlalchemy/utils.py b/blazar/db/sqlalchemy/utils.py index b1a91648..011468d4 100644 --- a/blazar/db/sqlalchemy/utils.py +++ b/blazar/db/sqlalchemy/utils.py @@ -126,7 +126,8 @@ def get_plugin_reservation(resource_type, resource_id): elif resource_type == instance_plugin.RESOURCE_TYPE: return api.instance_reservation_get(resource_id) else: - raise mgr_exceptions.UnsupportedResourceType(resource_type) + raise mgr_exceptions.UnsupportedResourceType( + resource_type=resource_type) def get_free_periods(resource_id, start_date, end_date, duration, diff --git a/blazar/manager/service.py b/blazar/manager/service.py index 10d63ce0..a1337b6f 100644 --- a/blazar/manager/service.py +++ b/blazar/manager/service.py @@ -597,7 +597,8 @@ class ManagerService(service_utils.RPCServer): def _create_reservation(self, values): resource_type = values['resource_type'] if resource_type not in self.plugins: - raise exceptions.UnsupportedResourceType(resource_type) + raise exceptions.UnsupportedResourceType( + resource_type=resource_type) reservation_values = { 'lease_id': values['lease_id'], 'resource_type': resource_type, @@ -677,7 +678,8 @@ class ManagerService(service_utils.RPCServer): except KeyError: LOG.error("Plugin with resource type %s not found", resource_type) - raise exceptions.UnsupportedResourceType(resource_type) + raise exceptions.UnsupportedResourceType( + resource_type=resource_type) except AttributeError: LOG.error("Plugin %s doesn't include method %s", self.plugins[resource_type], method) diff --git a/blazar/utils/openstack/nova.py b/blazar/utils/openstack/nova.py index 87dc578a..3d86da54 100644 --- a/blazar/utils/openstack/nova.py +++ b/blazar/utils/openstack/nova.py @@ -480,7 +480,7 @@ class NovaInventory(NovaClientWrapper): except nova_exception.NotFound: raise manager_exceptions.HostNotFound(host=host) if len(hypervisors_list) > 1: - raise manager_exceptions.MultipleHostsFound(host) + raise manager_exceptions.MultipleHostsFound(host=host) else: hypervisor_id = hypervisors_list[0].id # NOTE(sbauza): No need to catch the exception as we're sure @@ -523,7 +523,7 @@ class NovaInventory(NovaClientWrapper): except nova_exception.NotFound: raise manager_exceptions.HostNotFound(host=host) if len(hypervisors_list) > 1: - raise manager_exceptions.MultipleHostsFound(host) + raise manager_exceptions.MultipleHostsFound(host=host) else: try: return hypervisors_list[0].servers