Skip to content

Commit 4955117

Browse files
committed
Enable "openstack server suspend" command to take multiple servers.
Current "openstack server suspend" command could only suspend one server. Improve it to be able to handle more than one servers. Also improve the doc to reflect the new feature. Change-Id: Ic0417ee28f46c9198a35744c0180342e61966b26 Implements: blueprint cmd-with-multi-servers
1 parent 42a5909 commit 4955117

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

doc/source/command-objects/server.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -628,17 +628,17 @@ Stop server(s)
628628
server suspend
629629
--------------
630630
631-
Suspend server
631+
Suspend server(s)
632632
633633
.. program:: server suspend
634634
.. code:: bash
635635
636636
os server suspend
637-
<server>
637+
<server> [<server> ...]
638638
639639
.. describe:: <server>
640640
641-
Server (name or ID)
641+
Server(s) to suspend (name or ID)
642642
643643
server unlock
644644
-------------

doc/source/commands.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ Those actions with an opposite action are noted in parens if applicable.
185185
* ``show`` - display detailed information about the specific object
186186
* ``start`` (``stop``) - start one or more servers
187187
* ``stop`` (``start``) - stop one or more servers
188-
* ``suspend`` (``resume``) - stop a server and save to disk freeing memory
188+
* ``suspend`` (``resume``) - stop one or more servers and save to disk freeing memory
189189
* ``unlock`` (``lock``) - unlock one or more servers
190190
* ``unpause`` (``pause``) - return one or more paused servers to running state
191191
* ``unrescue`` (``rescue``) - return a server to normal boot mode

openstackclient/compute/v2/server.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1585,7 +1585,7 @@ def take_action(self, parsed_args):
15851585

15861586

15871587
class SuspendServer(command.Command):
1588-
"""Suspend server"""
1588+
"""Suspend server(s)"""
15891589

15901590
log = logging.getLogger(__name__ + '.SuspendServer')
15911591

@@ -1594,18 +1594,20 @@ def get_parser(self, prog_name):
15941594
parser.add_argument(
15951595
'server',
15961596
metavar='<server>',
1597-
help=_('Server (name or ID)'),
1597+
nargs='+',
1598+
help=_('Server(s) to suspend (name or ID)'),
15981599
)
15991600
return parser
16001601

16011602
@utils.log_method(log)
16021603
def take_action(self, parsed_args):
16031604

16041605
compute_client = self.app.client_manager.compute
1605-
utils.find_resource(
1606-
compute_client.servers,
1607-
parsed_args.server,
1608-
).suspend()
1606+
for server in parsed_args.server:
1607+
utils.find_resource(
1608+
compute_client.servers,
1609+
server,
1610+
).suspend()
16091611

16101612

16111613
class UnlockServer(command.Command):

0 commit comments

Comments
 (0)