diff options
author | asteroide <thomas.duval@orange.com> | 2015-11-20 16:04:31 +0100 |
---|---|---|
committer | asteroide <thomas.duval@orange.com> | 2015-11-20 16:04:31 +0100 |
commit | c836fda3fa4bf4250790353ca31b9d600ee0fdd8 (patch) | |
tree | d5fc0d475a3d1735322da7ab06934d4e09f3d4bc | |
parent | b4e1e3ac15988512e96200c4528f5423586a4132 (diff) |
Get errors from Keystone-Moon and throw them from Moonclient
Change-Id: I686f2d49b0c41a8352ed9c18805fbf4058d8ad3d
-rw-r--r-- | moonclient/moonclient/shell.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/moonclient/moonclient/shell.py b/moonclient/moonclient/shell.py index 49422a45..5e40bf40 100644 --- a/moonclient/moonclient/shell.py +++ b/moonclient/moonclient/shell.py @@ -150,9 +150,21 @@ class MoonClient(App): content = resp.read() conn.close() try: - return json.loads(content) + content = json.loads(content) + if "error" in content: + try: + raise Exception("Getting an error while requiring {} ({}: {}, {})".format( + url, + content['error']['code'], + content['error']['title'], + content['error']['message'], + )) + except ValueError: + raise Exception("Getting an error while requiring {} ({})".format(url, content)) + return content except ValueError: - return {"content": content} + raise Exception("Getting an error while requiring {} ({})".format(url, content)) + # return {"content": content} def auth_keystone(self, username=None, password=None, host=None, port=None): """Send a new authentication request to Keystone |