Merge "Enable "openstack server lock" command to take multiple servers."

This commit is contained in:
Jenkins 2015-11-16 03:28:01 +00:00 committed by Gerrit Code Review
commit 5dffc9d860
3 changed files with 12 additions and 10 deletions

View File

@ -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
--------------

View File

@ -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

View File

@ -846,7 +846,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')
@ -855,7 +855,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
@ -863,10 +864,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?