Skip to content

Commit a337f66

Browse files
tang-chenlin-hua-cheng
authored andcommitted
Enable "openstack server pause" command to take multiple servers.
Current "openstack server pause" command could only pause one server. Improve it to be able to handle more than one servers. Also improve the doc to reflect the new feature. Change-Id: I809f77f0720457c9cdc1028a70b391c75885984c Implements: blueprint cmd-with-multi-servers
1 parent 6dfa304 commit a337f66

3 files changed

Lines changed: 12 additions & 11 deletions

File tree

doc/source/command-objects/server.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,17 +311,17 @@ Migrate server to different host
311311
server pause
312312
------------
313313
314-
Pause server
314+
Pause server(s)
315315
316316
.. program:: server pause
317317
.. code:: bash
318318
319319
os server pause
320-
<server>
320+
<server> [<server> ...]
321321
322322
.. describe:: <server>
323323
324-
Server (name or ID)
324+
Server(s) to pause (name or ID)
325325
326326
server reboot
327327
-------------

doc/source/commands.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ Those actions with an opposite action are noted in parens if applicable.
172172
* ``lock`` (``unlock``) - lock a server so that non-admin user won't be able to execute actions
173173
* ``migrate`` - move a server to a different host; ``--live`` performs a
174174
live migration if possible
175-
* ``pause`` (``unpause``) - stop a server and leave it in memory
175+
* ``pause`` (``unpause``) - stop one or more servers and leave them in memory
176176
* ``reboot`` - forcibly reboot a server
177177
* ``rebuild`` - rebuild a server using (most of) the same arguments as in the original create
178178
* ``remove`` (``add``) - remove an object from a group of objects

openstackclient/compute/v2/server.py

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

916916

917917
class PauseServer(command.Command):
918-
"""Pause server"""
918+
"""Pause server(s)"""
919919

920920
log = logging.getLogger(__name__ + '.PauseServer')
921921

@@ -924,18 +924,19 @@ def get_parser(self, prog_name):
924924
parser.add_argument(
925925
'server',
926926
metavar='<server>',
927-
help=_('Server (name or ID)'),
927+
nargs='+',
928+
help=_('Server(s) to pause (name or ID)'),
928929
)
929930
return parser
930931

931932
@utils.log_method(log)
932933
def take_action(self, parsed_args):
933-
934934
compute_client = self.app.client_manager.compute
935-
utils.find_resource(
936-
compute_client.servers,
937-
parsed_args.server,
938-
).pause()
935+
for server in parsed_args.server:
936+
utils.find_resource(
937+
compute_client.servers,
938+
server
939+
).pause()
939940

940941

941942
class RebootServer(command.Command):

0 commit comments

Comments
 (0)