Hi, While working on unification of clients code we try to unify various exceptions in different client projects. We have module apiclient.exceptions in oslo-incubator[1]. Since our apiclient is an oslo-inclubator library and not a standalone lib this doesn't help in case we need to process exceptions from several clients. Please, look at horizon module exceptions: https://github.com/openstack/horizon/blob/master/openstack_dashboard/exceptions.py >From interpreter point of view apiclient exceptions will be different classes since they are copy-pasted between projects. The solution would be to use exceptions from external library - Module WebOb.exc[2] for example (since WebOb is already used in other openstack projects). This exceptions cover all our custom http exceptions. We propose to move to webob.exc in three stages(I already have patches for this in oslo-incubator and I've added link here as an example): 1) In clients: create aliases in module `exceptions` for all http exceptions which are duplicated with webob.exc. This will help us safely move to webob.exc without breaking tempest, horizon and other projects. Usage of such exceptions will not cause significant changes. - https://review.openstack.org/#/c/71916/ 2) In all projects: importing exceptions and use them directly from webob.exc - https://review.openstack.org/#/c/76198/ 3) In clients: remove aliases for webob.exc. (at the end of backwards compatibility period) Please share your thoughts about this topic. [1] - https://github.com/openstack/oslo-incubator/blob/master/openstack/common/apiclient/exceptions.py [2] - http://turbogears.org/2.0/docs/modules/thirdparty/webob.html#module-webob.exc -- Looking forward for your reply, Andrey Kurilin. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140226/233b03aa/attachment.html>