Skip to content

Commit

Permalink
Allow server name to be specified for actions and diagnostics.
Browse files Browse the repository at this point in the history
Fixes bug 963026

Change-Id: I1662d229b4dcbc2e56d9701190191d94d603c63b
  • Loading branch information
ameade committed May 2, 2012
1 parent 081c8e9 commit ade27e2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
6 changes: 4 additions & 2 deletions novaclient/v1_1/shell.py
Expand Up @@ -676,14 +676,16 @@ def do_unrescue(cs, args):
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
def do_diagnostics(cs, args):
"""Retrieve server diagnostics."""
utils.print_dict(cs.servers.diagnostics(args.server)[1])
server = _find_server(cs, args.server)
utils.print_dict(cs.servers.diagnostics(server)[1])


@utils.arg('server', metavar='<server>', help='Name or ID of server.')
def do_actions(cs, args):
"""Retrieve server actions."""
server = _find_server(cs, args.server)
utils.print_list(
cs.servers.actions(args.server),
cs.servers.actions(server),
["Created_At", "Action", "Error"])


Expand Down
2 changes: 1 addition & 1 deletion tests/v1_1/fakes.py
Expand Up @@ -242,7 +242,7 @@ def post_servers_1234_metadata(self, **kw):
return (204, {'metadata': {'test_key': 'test_value'}})

def get_servers_1234_diagnostics(self, **kw):
return (200, 'Fake diagnostics')
return (200, {'data': 'Fake diagnostics'})

def get_servers_1234_actions(self, **kw):
return (200, {'actions': [
Expand Down
12 changes: 12 additions & 0 deletions tests/v1_1/test_shell.py
Expand Up @@ -236,6 +236,18 @@ def test_delete(self):
self.run_command('delete sample-server')
self.assert_called('DELETE', '/servers/1234')

def test_diagnostics(self):
self.run_command('diagnostics 1234')
self.assert_called('GET', '/servers/1234/diagnostics')
self.run_command('diagnostics sample-server')
self.assert_called('GET', '/servers/1234/diagnostics')

def test_actions(self):
self.run_command('actions 1234')
self.assert_called('GET', '/servers/1234/actions')
self.run_command('actions sample-server')
self.assert_called('GET', '/servers/1234/actions')

def test_set_meta_set(self):
self.run_command('meta 1234 set key1=val1 key2=val2')
self.assert_called('POST', '/servers/1234/metadata',
Expand Down

0 comments on commit ade27e2

Please sign in to comment.