Skip to content

Commit 5dffc9d

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Enable "openstack server lock" command to take multiple servers."
2 parents f177160 + c1f0ad6 commit 5dffc9d

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
@@ -253,17 +253,17 @@ List servers
253253
server lock
254254
-----------
255255
256-
Lock a server. A non-admin user will not be able to execute actions
256+
Lock server(s). A non-admin user will not be able to execute actions
257257
258258
.. program:: server lock
259259
.. code:: bash
260260
261261
os server lock
262-
<server>
262+
<server> [<server> ...]
263263
264264
.. describe:: <server>
265265
266-
Server (name or ID)
266+
Server(s) to lock (name or ID)
267267
268268
server migrate
269269
--------------

doc/source/commands.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ Those actions with an opposite action are noted in parens if applicable.
169169
* ``delete`` (``create``) - delete specific occurrences of the specified objects
170170
* ``issue`` (``revoke``) - issue a token
171171
* ``list`` - display summary information about multiple objects
172-
* ``lock`` (``unlock``) - lock a server so that non-admin user won't be able to execute actions
172+
* ``lock`` (``unlock``) - lock one or more servers 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
175175
* ``pause`` (``unpause``) - stop one or more servers and leave them in memory

openstackclient/compute/v2/server.py

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

847847
class LockServer(command.Command):
848848

849-
"""Lock a server. A non-admin user will not be able to execute actions"""
849+
"""Lock server(s). A non-admin user will not be able to execute actions"""
850850

851851
log = logging.getLogger(__name__ + '.LockServer')
852852

@@ -855,18 +855,20 @@ def get_parser(self, prog_name):
855855
parser.add_argument(
856856
'server',
857857
metavar='<server>',
858-
help=_('Server (name or ID)'),
858+
nargs='+',
859+
help=_('Server(s) to lock (name or ID)'),
859860
)
860861
return parser
861862

862863
@utils.log_method(log)
863864
def take_action(self, parsed_args):
864865

865866
compute_client = self.app.client_manager.compute
866-
utils.find_resource(
867-
compute_client.servers,
868-
parsed_args.server,
869-
).lock()
867+
for server in parsed_args.server:
868+
utils.find_resource(
869+
compute_client.servers,
870+
server,
871+
).lock()
870872

871873

872874
# FIXME(dtroyer): Here is what I want, how with argparse/cliff?

0 commit comments

Comments
 (0)