summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2013-07-21 03:28:27 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2013-07-23 23:06:29 -0500
commit3789cdfebe2d84fd77a4549dbdb08346f5d8e280 (patch)
treecd5fa4f8400950b3ba3228c1122ef67eec59db23 /openstackclient
parente351991d74b9c952dc2d1f46a185a3250fa822d3 (diff)
downloadpython-openstackclient-3789cdfebe2d84fd77a4549dbdb08346f5d8e280.tar.gz
Add server diagnose for compute api
Add server diagnose for compute api as per blueprint: nova-client Change-Id: I0a2c13e36e1e13f61ef4ba00ec146634f9644648
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):