From 91fbb0e1361fe24273ace0e5f5e7d338aefbe168 Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Fri, 13 Nov 2015 11:02:01 +0800 Subject: [PATCH] Enable "openstack server unlock" command to take multiple servers. Current "openstack server unlock" command could only unlock one server. Improve it to be able to handle more than one servers. Also improve the doc to reflect the new feature. Change-Id: Ibf57b2021a504da950a491d63139a438087aed0b Implements: blueprint cmd-with-multi-servers --- doc/source/command-objects/server.rst | 6 +++--- doc/source/commands.rst | 2 +- openstackclient/compute/v2/server.py | 14 ++++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/doc/source/command-objects/server.rst b/doc/source/command-objects/server.rst index d8b3dbcbaf..4aeef4d056 100644 --- a/doc/source/command-objects/server.rst +++ b/doc/source/command-objects/server.rst @@ -643,17 +643,17 @@ Suspend server server unlock ------------- -Unlock server +Unlock server(s) .. program:: server unlock .. code:: bash os server unlock - + [ ...] .. describe:: - Server (name or ID) + Server(s) to unlock (name or ID) server unpause -------------- diff --git a/doc/source/commands.rst b/doc/source/commands.rst index ca60ab8e76..e69699b173 100644 --- a/doc/source/commands.rst +++ b/doc/source/commands.rst @@ -186,7 +186,7 @@ Those actions with an opposite action are noted in parens if applicable. * ``start`` (``stop``) - start one or more servers * ``stop`` (``start``) - stop one or more servers * ``suspend`` (``resume``) - stop a server and save to disk freeing memory -* ``unlock`` (``lock``) - unlock a server +* ``unlock`` (``lock``) - unlock one or more servers * ``unpause`` (``pause``) - return one or more paused servers to running state * ``unrescue`` (``rescue``) - return a server to normal boot mode * ``unset`` (``set``) - remove an attribute of the object diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 15aff77493..22303838b4 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -1561,7 +1561,7 @@ class SuspendServer(command.Command): class UnlockServer(command.Command): - """Unlock server""" + """Unlock server(s)""" log = logging.getLogger(__name__ + '.UnlockServer') @@ -1570,7 +1570,8 @@ class UnlockServer(command.Command): parser.add_argument( 'server', metavar='', - help=_('Server (name or ID)'), + nargs='+', + help=_('Server(s) to unlock (name or ID)'), ) return parser @@ -1578,10 +1579,11 @@ class UnlockServer(command.Command): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - utils.find_resource( - compute_client.servers, - parsed_args.server, - ).unlock() + for server in parsed_args.server: + utils.find_resource( + compute_client.servers, + server, + ).unlock() class UnpauseServer(command.Command):