From: Jianing YANG Date: Fri, 19 Jul 2013 14:08:41 +0000 (+0800) Subject: remove remote_error and corresponding try...catches. X-Git-Tag: 2014.1~330 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=6ab8e1b6b619230c7c59130ae3beb24ba9aefb6d;p=openstack-build%2Fheat-build.git remove remote_error and corresponding try...catches. Implements blueprint exception-formatting Change-Id: I94306e2b70c7fa77d1b5a1177fede88262f8bbc9 --- diff --git a/heat/api/openstack/v1/actions.py b/heat/api/openstack/v1/actions.py index 530951ba..769f73e7 100644 --- a/heat/api/openstack/v1/actions.py +++ b/heat/api/openstack/v1/actions.py @@ -18,7 +18,6 @@ from webob import exc from heat.api.openstack.v1 import util from heat.common import wsgi from heat.rpc import client as rpc_client -import heat.openstack.common.rpc.common as rpc_common class ActionController(object): @@ -51,15 +50,9 @@ class ActionController(object): raise exc.HTTPBadRequest(_("Invalid action %s specified") % ac) if ac == self.SUSPEND: - try: - res = self.engine.stack_suspend(req.context, identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.stack_suspend(req.context, identity) elif ac == self.RESUME: - try: - res = self.engine.stack_resume(req.context, identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.stack_resume(req.context, identity) else: raise exc.HTTPInternalServerError(_("Unexpected action %s") % ac) diff --git a/heat/api/openstack/v1/events.py b/heat/api/openstack/v1/events.py index eab9e52b..81264a50 100644 --- a/heat/api/openstack/v1/events.py +++ b/heat/api/openstack/v1/events.py @@ -21,7 +21,6 @@ from heat.common import wsgi from heat.rpc import api as engine_api from heat.common import identifier from heat.rpc import client as rpc_client -import heat.openstack.common.rpc.common as rpc_common from heat.openstack.common.gettextutils import _ @@ -79,11 +78,8 @@ class EventController(object): def _event_list(self, req, identity, filter_func=lambda e: True, detail=False): - try: - events = self.engine.list_events(req.context, - identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + events = self.engine.list_events(req.context, + identity) keys = None if detail else summary_keys diff --git a/heat/api/openstack/v1/resources.py b/heat/api/openstack/v1/resources.py index e5b65b60..5f363359 100644 --- a/heat/api/openstack/v1/resources.py +++ b/heat/api/openstack/v1/resources.py @@ -20,7 +20,6 @@ from heat.common import wsgi from heat.rpc import api as engine_api from heat.common import identifier from heat.rpc import client as rpc_client -import heat.openstack.common.rpc.common as rpc_common def format_resource(req, res, keys=[]): @@ -68,11 +67,8 @@ class ResourceController(object): Lists summary information for all resources """ - try: - res_list = self.engine.list_stack_resources(req.context, - identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res_list = self.engine.list_stack_resources(req.context, + identity) return {'resources': [format_resource(req, res) for res in res_list]} @@ -82,12 +78,9 @@ class ResourceController(object): Gets detailed information for a stack """ - try: - res = self.engine.describe_stack_resource(req.context, - identity, - resource_name) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.describe_stack_resource(req.context, + identity, + resource_name) return {'resource': format_resource(req, res)} @@ -97,12 +90,9 @@ class ResourceController(object): Gets detailed information for a stack """ - try: - res = self.engine.describe_stack_resource(req.context, - identity, - resource_name) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.describe_stack_resource(req.context, + identity, + resource_name) return {engine_api.RES_METADATA: res[engine_api.RES_METADATA]} diff --git a/heat/api/openstack/v1/stacks.py b/heat/api/openstack/v1/stacks.py index 3410ce4b..d7bb53d3 100644 --- a/heat/api/openstack/v1/stacks.py +++ b/heat/api/openstack/v1/stacks.py @@ -28,7 +28,6 @@ from heat.rpc import api as engine_api from heat.rpc import client as rpc_client from heat.common import urlfetch -import heat.openstack.common.rpc.common as rpc_common from heat.openstack.common import log as logging from heat.openstack.common.gettextutils import _ @@ -190,10 +189,7 @@ class StackController(object): Lists summary information for all stacks """ - try: - stacks = self.engine.list_stacks(req.context) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + stacks = self.engine.list_stacks(req.context) summary_keys = (engine_api.STACK_ID, engine_api.STACK_NAME, @@ -211,10 +207,7 @@ class StackController(object): """ Lists detailed information for all stacks """ - try: - stacks = self.engine.list_stacks(req.context) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + stacks = self.engine.list_stacks(req.context) return {'stacks': [format_stack(req, s) for s in stacks]} @@ -226,15 +219,12 @@ class StackController(object): data = InstantiationData(body) - try: - result = self.engine.create_stack(req.context, - data.stack_name(), - data.template(), - data.environment(), - data.files(), - data.args()) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + result = self.engine.create_stack(req.context, + data.stack_name(), + data.template(), + data.environment(), + data.files(), + data.args()) return {'stack': format_stack(req, {engine_api.STACK_ID: result})} @@ -246,11 +236,8 @@ class StackController(object): try: identity = dict(identifier.HeatIdentifier.from_arn(stack_name)) except ValueError: - try: - identity = self.engine.identify_stack(req.context, - stack_name) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + identity = self.engine.identify_stack(req.context, + stack_name) location = util.make_url(req, identity) if path: @@ -264,11 +251,8 @@ class StackController(object): Gets detailed information for a stack """ - try: - stack_list = self.engine.show_stack(req.context, - identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + stack_list = self.engine.show_stack(req.context, + identity) if not stack_list: raise exc.HTTPInternalServerError() @@ -283,11 +267,8 @@ class StackController(object): Get the template body for an existing stack """ - try: - templ = self.engine.get_template(req.context, - identity) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + templ = self.engine.get_template(req.context, + identity) if templ is None: raise exc.HTTPNotFound() @@ -302,15 +283,12 @@ class StackController(object): """ data = InstantiationData(body) - try: - res = self.engine.update_stack(req.context, - identity, - data.template(), - data.environment(), - data.files(), - data.args()) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.update_stack(req.context, + identity, + data.template(), + data.environment(), + data.files(), + data.args()) raise exc.HTTPAccepted() @@ -320,13 +298,9 @@ class StackController(object): Delete the specified stack """ - try: - res = self.engine.delete_stack(req.context, - identity, - cast=False) - - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + res = self.engine.delete_stack(req.context, + identity, + cast=False) if res is not None: raise exc.HTTPBadRequest(res['Error']) @@ -342,11 +316,8 @@ class StackController(object): data = InstantiationData(body) - try: - result = self.engine.validate_template(req.context, - data.template()) - except rpc_common.RemoteError as ex: - return util.remote_error(ex) + result = self.engine.validate_template(req.context, + data.template()) if 'Error' in result: raise exc.HTTPBadRequest(result['Error']) @@ -359,10 +330,7 @@ class StackController(object): Returns a list of valid resource types that may be used in a template. """ - try: - types = self.engine.list_resource_types(req.context) - except rpc_common.RemoteError as ex: - raise exc.HTTPInternalServerError(str(ex)) + types = self.engine.list_resource_types(req.context) return {'resource_types': types} diff --git a/heat/api/openstack/v1/util.py b/heat/api/openstack/v1/util.py index d87e6adf..43381bfc 100644 --- a/heat/api/openstack/v1/util.py +++ b/heat/api/openstack/v1/util.py @@ -64,13 +64,3 @@ def make_url(req, identity): def make_link(req, identity, relationship='self'): '''Return a link structure for the supplied identity dictionary.''' return {'href': make_url(req, identity), 'rel': relationship} - - -def remote_error(ex): - """The RemoteError mapping work has been moved to heat.api.middleware.fault - which handles error formating now. This function will be deprecated - in the future, so please raise exceptions directly. - """ - - # TODO(jianingy): add a deprecated warning here to inform others. - raise ex