summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasteroide <thomas.duval@orange.com>2015-11-20 16:04:31 +0100
committerasteroide <thomas.duval@orange.com>2015-11-20 16:04:31 +0100
commitc836fda3fa4bf4250790353ca31b9d600ee0fdd8 (patch)
treed5fc0d475a3d1735322da7ab06934d4e09f3d4bc
parentb4e1e3ac15988512e96200c4528f5423586a4132 (diff)
Get errors from Keystone-Moon and throw them from Moonclient
Change-Id: I686f2d49b0c41a8352ed9c18805fbf4058d8ad3d
-rw-r--r--moonclient/moonclient/shell.py16
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