summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-02-17 22:39:56 +0000
committerGerrit Code Review <review@openstack.org>2012-02-17 22:39:56 +0000
commitb528c4a1c9cc38223fa8dee3b3b063359f4fba18 (patch)
tree386c872ce24fe026d31eb25a34da44518cfa52cf /nova/api
parent24716297334bccee029de62151bada216d896a3f (diff)
parentb661919b172f25d9a8f47e3131497c947fa21a9f (diff)
Merge "Adding traceback to async faults"
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/compute/views/servers.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/nova/api/openstack/compute/views/servers.py b/nova/api/openstack/compute/views/servers.py
index f3fbee11f..d20cd26d3 100644
--- a/nova/api/openstack/compute/views/servers.py
+++ b/nova/api/openstack/compute/views/servers.py
@@ -187,9 +187,19 @@ class ViewBuilder(common.ViewBuilder):
if not fault:
return None
- return {
+ fault_dict = {
"code": fault["code"],
"created": utils.isotime(fault["created_at"]),
"message": fault["message"],
- "details": fault["details"],
}
+
+ if fault.get('details', None):
+ is_admin = False
+ context = getattr(request, 'context', None)
+ if context:
+ is_admin = getattr(request.context, 'is_admin', False)
+
+ if is_admin or fault['code'] != 500:
+ fault_dict['details'] = fault["details"]
+
+ return fault_dict