summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTang Chen <tangchen@cn.fujitsu.com>2015-11-13 11:02:01 +0800
committerTang Chen <tangchen@cn.fujitsu.com>2015-11-13 11:02:01 +0800
commit91fbb0e1361fe24273ace0e5f5e7d338aefbe168 (patch)
tree753c827e78f9ba9e9b0b3a1f2dda93f9600bb040
parentc1f0ad6d714b1cb9cb9f9ba25c02243a0c5b7d66 (diff)
downloadpython-openstackclient-91fbb0e1361fe24273ace0e5f5e7d338aefbe168.tar.gz
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
-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 d8b3dbcb..4aeef4d0 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
- <server>
+ <server> [<server> ...]
.. describe:: <server>
- 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 ca60ab8e..e69699b1 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 15aff774..22303838 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='<server>',
- 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):