summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index a8c86a2e..5922f759 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -17,6 +17,7 @@
import logging
import os
+import sys
import time
from cliff import command
@@ -599,7 +600,6 @@ class ResumeServer(command.Command):
class ShowServer(show.ShowOne):
"""Show server command"""
- api = 'compute'
log = logging.getLogger(__name__ + '.ShowServer')
def get_parser(self, prog_name):
@@ -608,6 +608,11 @@ class ShowServer(show.ShowOne):
'server',
metavar='<server>',
help='Name or ID of server to display')
+ parser.add_argument(
+ '--diagnostics',
+ action='store_true',
+ default=False,
+ help='Display diagnostics information for a given server')
return parser
def take_action(self, parsed_args):
@@ -616,8 +621,15 @@ class ShowServer(show.ShowOne):
server = utils.find_resource(compute_client.servers,
parsed_args.server)
- details = _prep_server_detail(compute_client, server)
- return zip(*sorted(details.iteritems()))
+ if parsed_args.diagnostics:
+ (resp, data) = server.diagnostics()
+ if not resp.status_code == 200:
+ sys.stderr.write("Error retrieving diagnostics data")
+ return ({}, {})
+ else:
+ data = _prep_server_detail(compute_client, server)
+
+ return zip(*sorted(data.iteritems()))
class SuspendServer(command.Command):