From dc4bc1aa72213ee63ae070852991404cf66837db Mon Sep 17 00:00:00 2001 From: Feng Shengqin Date: Tue, 10 Jan 2017 19:11:22 +0800 Subject: [PATCH] Add support for killing multiple containers Change-Id: I60f10a4342c3e9f781722fb445fd5f60b0e92cfc Closes-Bug: #1655162 --- zunclient/v1/containers_shell.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/zunclient/v1/containers_shell.py b/zunclient/v1/containers_shell.py index 9f15940a..4eba851b 100644 --- a/zunclient/v1/containers_shell.py +++ b/zunclient/v1/containers_shell.py @@ -264,27 +264,29 @@ def do_exec(cs, args): print(output) -@utils.arg('container', +@utils.arg('containers', metavar='', - help='ID or name of the container to kill signal to.') + nargs='+', + help='ID or name of the (container)s to kill signal to.') @utils.arg('-s', '--signal', metavar='', default=None, help='The signal to kill') def do_kill(cs, args): - """kill signal to a container.""" - opts = {} - opts['id'] = args.container - opts['signal'] = args.signal - try: - cs.containers.kill(**opts) - print( - "Request to kill signal to container %s has been accepted." % - args.container) - except Exception as e: - print( - "kill signal for container %(container)s failed: %(e)s" % - {'container': args.container, 'e': e}) + """kill signal to containers.""" + for container in args.containers: + opts = {} + opts['id'] = container + opts['signal'] = args.signal + try: + cs.containers.kill(**opts) + print( + "Request to kill signal to container %s has been accepted." % + container) + except Exception as e: + print( + "kill signal for container %(container)s failed: %(e)s" % + {'container': container, 'e': e}) @utils.arg('-n', '--name',