summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/command-objects/server.rst6
-rw-r--r--doc/source/commands.rst2
-rw-r--r--openstackclient/compute/v2/server.py14
3 files changed, 12 insertions, 10 deletions
diff --git a/doc/source/command-objects/server.rst b/doc/source/command-objects/server.rst
index 211963f3..d8b3dbcb 100644
--- a/doc/source/command-objects/server.rst
+++ b/doc/source/command-objects/server.rst
@@ -253,17 +253,17 @@ List servers
server lock
-----------
-Lock a server. A non-admin user will not be able to execute actions
+Lock server(s). A non-admin user will not be able to execute actions
.. program:: server lock
.. code:: bash
os server lock
- <server>
+ <server> [<server> ...]
.. describe:: <server>
- Server (name or ID)
+ Server(s) to lock (name or ID)
server migrate
--------------
diff --git a/doc/source/commands.rst b/doc/source/commands.rst
index 62ed7652..ca60ab8e 100644
--- a/doc/source/commands.rst
+++ b/doc/source/commands.rst
@@ -169,7 +169,7 @@ Those actions with an opposite action are noted in parens if applicable.
* ``delete`` (``create``) - delete specific occurrences of the specified objects
* ``issue`` (``revoke``) - issue a token
* ``list`` - display summary information about multiple objects
-* ``lock`` (``unlock``) - lock a server so that non-admin user won't be able to execute actions
+* ``lock`` (``unlock``) - lock one or more servers so that non-admin user won't be able to execute actions
* ``migrate`` - move a server to a different host; ``--live`` performs a
live migration if possible
* ``pause`` (``unpause``) - stop one or more servers and leave them in memory
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index a94857b4..15aff774 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -798,7 +798,7 @@ class ListServer(lister.Lister):
class LockServer(command.Command):
- """Lock a server. A non-admin user will not be able to execute actions"""
+ """Lock server(s). A non-admin user will not be able to execute actions"""
log = logging.getLogger(__name__ + '.LockServer')
@@ -807,7 +807,8 @@ class LockServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help=_('Server (name or ID)'),
+ nargs='+',
+ help=_('Server(s) to lock (name or ID)'),
)
return parser
@@ -815,10 +816,11 @@ class LockServer(command.Command):
def take_action(self, parsed_args):
compute_client = self.app.client_manager.compute
- utils.find_resource(
- compute_client.servers,
- parsed_args.server,
- ).lock()
+ for server in parsed_args.server:
+ utils.find_resource(
+ compute_client.servers,
+ server,
+ ).lock()
# FIXME(dtroyer): Here is what I want, how with argparse/cliff?