summaryrefslogtreecommitdiff
path: root/openstackclient/common/exceptions.py
Commit message (Collapse)AuthorAgeFilesLines
* Add importing file to import warningsDean Troyer2016-08-301-1/+4
| | | | | | | | Add the Python file doing the import to the warnings emitted by the modules moved to osc-lib. Users will at least have a hint as to which package is out-of-date. Change-Id: I633b440c30b2b15cfde7a9013e30dfa39ab200bc
* Use osc-lib and set up deprecation warningsDean Troyer2016-06-101-100/+8
| | | | | | | | | | | | | | The initial use of osc-lib is behind the compatibility/deprecation modules that we will leave in place for a time for plugins to catch up. * openstackclient.common.exceptions * openstackclient.common.utils Module-level warnings are emitted directly on stderr since logging has not been configured yet. Change-Id: I79e57ce9523a20366bccaf9b949ab5906792ea0d
* Propagate AttributeErrors when lazily loading pluginsTim Burke2016-04-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if an AttributeError was raised in a plugin's make_client method, the plugin simply wouldn't be an attribute of the ClientManager, producing tracebacks like Traceback (most recent call last): File ".../openstackclient/shell.py", line 118, in run ret_val = super(OpenStackShell, self).run(argv) ... File ".../openstackclient/object/v1/container.py", line 150, in take_action data = self.app.client_manager.object_store.container_list( File ".../openstackclient/common/clientmanager.py", line 66, in __getattr__ raise AttributeError(name) AttributeError: object_store This made writing minimal third-party auth plugins difficult, as it obliterated the original AttributeError. Now, AttributeErrors that are raised during plugin initialization will be re-raised as PluginAttributeErrors, and the original traceback will be preserved. This gives much more useful information to plugin developers, as in Traceback (most recent call last): File ".../openstackclient/shell.py", line 118, in run ret_val = super(OpenStackShell, self).run(argv) ... File ".../openstackclient/object/v1/container.py", line 150, in take_action data = self.app.client_manager.object_store.container_list( File ".../openstackclient/common/clientmanager.py", line 57, in __get__ err_val, err_tb) File ".../openstackclient/common/clientmanager.py", line 51, in __get__ self._handle = self.factory(instance) File ".../openstackclient/object/client.py", line 35, in make_client interface=instance._interface, File ".../openstackclient/common/clientmanager.py", line 258, in get_endpoint_for_service_type endpoint = self.auth_ref.service_catalog.url_for( PluginAttributeError: 'NoneType' object has no attribute 'url_for' Change-Id: I0eee7eba6eccc6d471a699a381185c4e76da10bd
* Remove unused method 'from_response'Wenzhi Yu2016-03-291-25/+0
| | | | | | | | 'openstackclient.common.exceptions.from_response' method is never called in openstackclient code base, so we should remove it. Change-Id: I04254a4e66863942e6c273d77bbd66ce2ce7804c Related-Bug: #1559072
* Fix dict.keys() compatibility for python 3Tang Chen2016-03-121-1/+1
| | | | | | | | | | In Python 2, dict.keys() will return a list. But in Python 3, it will return an iterator. So we need to fix all the places that assuming dict.keys() is a list. Change-Id: I8d1cc536377b3e5c644cfaa0892e40d0bd7c11b1 Closes-Bug: #1556350
* Fixed a bunch of spacingBrandon Palm2016-02-231-0/+1
| | | | | | | Nothing too complicated here. I fixed a bunch of spacing issues that I saw in OSC. Change-Id: I935ab48e7c5bac5f88ecdb3a05f73fb44fc9f41d
* Clean redundant argument to dict.getting.wang2016-02-211-2/+2
| | | | | | | `dict.get()` returns `None` by default, if a key wasn't found. Removing `None` as second argument to avoid redundancy. Change-Id: Ia82f7469cd019509bbeccbfe54b15eeedc7bb6ea
* Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc.Josh Kearney2013-01-311-37/+20
| | | | | | | | Made all the necessary changes to pass new PEP8 standards. Also cleaned up docstrings to conform to the HACKING stanards. Change-Id: Ib8df3030da7a7885655689ab5da0717748c9edbe
* Standardize on a copyright header and ensure all files have them.Josh Kearney2013-01-241-12/+10
| | | | Change-Id: I64812bca01ca655c9cf9239a0daea84907082a29
* minor fixesMatt Joyce2012-05-291-1/+1
| | | | Change-Id: Ib5601e1a932e0bfaa0341909416415d1e81ee915
* Add API versioning supportDean Troyer2012-05-101-0/+6
| | | | | | | | | * Specific versions supported are managed in XXXXXX.client.py with a mapping from version to client class. This is based on the scheme that is included in novaclient; none of the other client libs have that capability. Change-Id: I930b197f1189e7f52c3b0096e73e0773cf925542
* Add 'list service' command and common modulesDean Troyer2012-04-271-0/+147