From c1f0ad6d714b1cb9cb9f9ba25c02243a0c5b7d66 Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Fri, 13 Nov 2015 10:25:27 +0800 Subject: Enable "openstack server lock" command to take multiple servers. Current "openstack server lock" command could only lock one server. Improve it to be able to handle more than one servers. Also improve the doc to reflect the new feature. Change-Id: Ifcf103b1c32e6c547ac09f688b887b1c03f92b09 Implements: blueprint cmd-with-multi-servers --- openstackclient/compute/v2/server.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'openstackclient') 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='', - 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? -- cgit v1.2.1