Merge " Allow to reboot multiple servers"
This commit is contained in:
commit
893bf9313c
@ -956,6 +956,13 @@ class ShellTest(utils.TestCase):
|
||||
self.assert_called('POST', '/servers/1234/action',
|
||||
{'reboot': {'type': 'HARD'}})
|
||||
|
||||
def test_reboot_many(self):
|
||||
self.run_command('reboot sample-server sample-server2')
|
||||
self.assert_called('POST', '/servers/1234/action',
|
||||
{'reboot': {'type': 'SOFT'}}, pos=-2)
|
||||
self.assert_called('POST', '/servers/5678/action',
|
||||
{'reboot': {'type': 'SOFT'}}, pos=-1)
|
||||
|
||||
def test_rebuild(self):
|
||||
output, _ = self.run_command('rebuild sample-server 1')
|
||||
self.assert_called('GET', '/servers?name=sample-server', pos=-6)
|
||||
|
@ -1459,7 +1459,10 @@ def do_list(cs, args):
|
||||
const=servers.REBOOT_HARD,
|
||||
default=servers.REBOOT_SOFT,
|
||||
help=_('Perform a hard reboot (instead of a soft one).'))
|
||||
@cliutils.arg('server', metavar='<server>', help=_('Name or ID of server.'))
|
||||
@cliutils.arg(
|
||||
'server',
|
||||
metavar='<server>', nargs='+',
|
||||
help=_('Name or ID of server(s).'))
|
||||
@cliutils.arg(
|
||||
'--poll',
|
||||
dest='poll',
|
||||
@ -1468,12 +1471,20 @@ def do_list(cs, args):
|
||||
help=_('Poll until reboot is complete.'))
|
||||
def do_reboot(cs, args):
|
||||
"""Reboot a server."""
|
||||
server = _find_server(cs, args.server)
|
||||
server.reboot(args.reboot_type)
|
||||
servers = [_find_server(cs, s) for s in args.server]
|
||||
utils.do_action_on_many(
|
||||
lambda s: s.reboot(args.reboot_type),
|
||||
servers,
|
||||
_("Request to reboot server %s has been accepted."),
|
||||
_("Unable to reboot the specified server(s)."))
|
||||
|
||||
if args.poll:
|
||||
_poll_for_status(cs.servers.get, server.id, 'rebooting', ['active'],
|
||||
show_progress=False)
|
||||
utils.do_action_on_many(
|
||||
lambda s: _poll_for_status(cs.servers.get, s.id, 'rebooting',
|
||||
['active'], show_progress=False),
|
||||
servers,
|
||||
_("Wait for server %s reboot."),
|
||||
_("Wait for specified server(s) failed."))
|
||||
|
||||
|
||||
@cliutils.arg('server', metavar='<server>', help=_('Name or ID of server.'))
|
||||
|
Loading…
Reference in New Issue
Block a user