summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTang Chen <tangchen@cn.fujitsu.com>2015-11-24 18:47:26 +0800
committerTang Chen <tangchen@cn.fujitsu.com>2015-11-24 18:47:26 +0800
commit4955117dff6ebebefcbe7bfafef0d8295e147d58 (patch)
tree650687e16309a7b928eafb816afcefe135eb91f7
parent42a5909f6a6fa50726799e8220f8722f2b0a016f (diff)
downloadpython-openstackclient-4955117dff6ebebefcbe7bfafef0d8295e147d58.tar.gz
Enable "openstack server suspend" command to take multiple servers.
Current "openstack server suspend" command could only suspend one server. Improve it to be able to handle more than one servers. Also improve the doc to reflect the new feature. Change-Id: Ic0417ee28f46c9198a35744c0180342e61966b26 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 4aeef4d0..eb75ef87 100644
--- a/doc/source/command-objects/server.rst
+++ b/doc/source/command-objects/server.rst
@@ -628,17 +628,17 @@ Stop server(s)
server suspend
--------------
-Suspend server
+Suspend server(s)
.. program:: server suspend
.. code:: bash
os server suspend
- <server>
+ <server> [<server> ...]
.. describe:: <server>
- Server (name or ID)
+ Server(s) to suspend (name or ID)
server unlock
-------------
diff --git a/doc/source/commands.rst b/doc/source/commands.rst
index e69699b1..07dcd18d 100644
--- a/doc/source/commands.rst
+++ b/doc/source/commands.rst
@@ -185,7 +185,7 @@ Those actions with an opposite action are noted in parens if applicable.
* ``show`` - display detailed information about the specific object
* ``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
+* ``suspend`` (``resume``) - stop one or more servers and save to disk freeing memory
* ``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
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index aa4569c3..db62f000 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1585,7 +1585,7 @@ class StopServer(command.Command):
class SuspendServer(command.Command):
- """Suspend server"""
+ """Suspend server(s)"""
log = logging.getLogger(__name__ + '.SuspendServer')
@@ -1594,7 +1594,8 @@ class SuspendServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help=_('Server (name or ID)'),
+ nargs='+',
+ help=_('Server(s) to suspend (name or ID)'),
)
return parser
@@ -1602,10 +1603,11 @@ class SuspendServer(command.Command):
def take_action(self, parsed_args):
compute_client = self.app.client_manager.compute
- utils.find_resource(
- compute_client.servers,
- parsed_args.server,
- ).suspend()
+ for server in parsed_args.server:
+ utils.find_resource(
+ compute_client.servers,
+ server,
+ ).suspend()
class UnlockServer(command.Command):