summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
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