diff options
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/views/servers.py | 14 |
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 |
