Merge "Add shelve/unshelve/shelve-offload command"
This commit is contained in:
commit
d06b344dc7
novaclient
@ -538,6 +538,12 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
assert body[action] is None
|
||||
elif action == 'unlock':
|
||||
assert body[action] is None
|
||||
elif action == 'shelve':
|
||||
assert body[action] is None
|
||||
elif action == 'shelveOffload':
|
||||
assert body[action] is None
|
||||
elif action == 'unshelve':
|
||||
assert body[action] is None
|
||||
elif action == 'addFixedIp':
|
||||
assert list(body[action]) == ['networkId']
|
||||
elif action == 'removeFixedIp':
|
||||
|
@ -771,6 +771,19 @@ class ShellTest(utils.TestCase):
|
||||
self.run_command('unrescue sample-server')
|
||||
self.assert_called('POST', '/servers/1234/action', {'unrescue': None})
|
||||
|
||||
def test_shelve(self):
|
||||
self.run_command('shelve sample-server')
|
||||
self.assert_called('POST', '/servers/1234/action', {'shelve': None})
|
||||
|
||||
def test_shelve_offload(self):
|
||||
self.run_command('shelve-offload sample-server')
|
||||
self.assert_called('POST', '/servers/1234/action',
|
||||
{'shelveOffload': None})
|
||||
|
||||
def test_unshelve(self):
|
||||
self.run_command('unshelve sample-server')
|
||||
self.assert_called('POST', '/servers/1234/action', {'unshelve': None})
|
||||
|
||||
def test_migrate(self):
|
||||
self.run_command('migrate sample-server')
|
||||
self.assert_called('POST', '/servers/1234/action', {'migrate': None})
|
||||
|
@ -187,6 +187,24 @@ class Server(base.Resource):
|
||||
"""
|
||||
self.manager.unrescue(self)
|
||||
|
||||
def shelve(self):
|
||||
"""
|
||||
Shelve -- Shelve the server.
|
||||
"""
|
||||
self.manager.shelve(self)
|
||||
|
||||
def shelve_offload(self):
|
||||
"""
|
||||
Shelve_offload -- Remove a shelved server from the compute node.
|
||||
"""
|
||||
self.manager.shelve_offload(self)
|
||||
|
||||
def unshelve(self):
|
||||
"""
|
||||
Unshelve -- Unshelve the server.
|
||||
"""
|
||||
self.manager.unshelve(self)
|
||||
|
||||
def diagnostics(self):
|
||||
"""Diagnostics -- Retrieve server diagnostics."""
|
||||
return self.manager.diagnostics(self)
|
||||
@ -574,6 +592,24 @@ class ServerManager(base.BootingManagerWithFind):
|
||||
"""
|
||||
self._action('unrescue', server, None)
|
||||
|
||||
def shelve(self, server):
|
||||
"""
|
||||
Shelve the server.
|
||||
"""
|
||||
self._action('shelve', server, None)
|
||||
|
||||
def shelve_offload(self, server):
|
||||
"""
|
||||
Remove a shelved instance from the compute node.
|
||||
"""
|
||||
self._action('shelveOffload', server, None)
|
||||
|
||||
def unshelve(self, server):
|
||||
"""
|
||||
Unshelve the server.
|
||||
"""
|
||||
self._action('unshelve', server, None)
|
||||
|
||||
def diagnostics(self, server):
|
||||
"""Retrieve server diagnostics."""
|
||||
return self.api.client.get("/servers/%s/diagnostics" %
|
||||
|
@ -1336,6 +1336,24 @@ def do_unrescue(cs, args):
|
||||
_find_server(cs, args.server).unrescue()
|
||||
|
||||
|
||||
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
|
||||
def do_shelve(cs, args):
|
||||
"""Shelve a server."""
|
||||
_find_server(cs, args.server).shelve()
|
||||
|
||||
|
||||
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
|
||||
def do_shelve_offload(cs, args):
|
||||
"""Remove a shelved server from the compute node."""
|
||||
_find_server(cs, args.server).shelve_offload()
|
||||
|
||||
|
||||
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
|
||||
def do_unshelve(cs, args):
|
||||
"""Unshelve a server."""
|
||||
_find_server(cs, args.server).unshelve()
|
||||
|
||||
|
||||
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
|
||||
def do_diagnostics(cs, args):
|
||||
"""Retrieve server diagnostics."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user