Add server diagnose for compute api
Add server diagnose for compute api as per blueprint: nova-client Change-Id: I0a2c13e36e1e13f61ef4ba00ec146634f9644648
This commit is contained in:
parent
e351991d74
commit
3789cdfebe
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from cliff import command
|
from cliff import command
|
||||||
@ -599,7 +600,6 @@ class ResumeServer(command.Command):
|
|||||||
class ShowServer(show.ShowOne):
|
class ShowServer(show.ShowOne):
|
||||||
"""Show server command"""
|
"""Show server command"""
|
||||||
|
|
||||||
api = 'compute'
|
|
||||||
log = logging.getLogger(__name__ + '.ShowServer')
|
log = logging.getLogger(__name__ + '.ShowServer')
|
||||||
|
|
||||||
def get_parser(self, prog_name):
|
def get_parser(self, prog_name):
|
||||||
@ -608,6 +608,11 @@ class ShowServer(show.ShowOne):
|
|||||||
'server',
|
'server',
|
||||||
metavar='<server>',
|
metavar='<server>',
|
||||||
help='Name or ID of server to display')
|
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
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
@ -616,8 +621,15 @@ class ShowServer(show.ShowOne):
|
|||||||
server = utils.find_resource(compute_client.servers,
|
server = utils.find_resource(compute_client.servers,
|
||||||
parsed_args.server)
|
parsed_args.server)
|
||||||
|
|
||||||
details = _prep_server_detail(compute_client, server)
|
if parsed_args.diagnostics:
|
||||||
return zip(*sorted(details.iteritems()))
|
(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):
|
class SuspendServer(command.Command):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user