Add support for killing multiple containers

Change-Id: I60f10a4342c3e9f781722fb445fd5f60b0e92cfc
Closes-Bug: #1655162
This commit is contained in:
Feng Shengqin
2017-01-10 19:11:22 +08:00
committed by feng.shengqin
parent ddb16af739
commit dc4bc1aa72

View File

@@ -264,27 +264,29 @@ def do_exec(cs, args):
print(output) print(output)
@utils.arg('container', @utils.arg('containers',
metavar='<container>', metavar='<container>',
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', @utils.arg('-s', '--signal',
metavar='<signal>', metavar='<signal>',
default=None, default=None,
help='The signal to kill') help='The signal to kill')
def do_kill(cs, args): def do_kill(cs, args):
"""kill signal to a container.""" """kill signal to containers."""
opts = {} for container in args.containers:
opts['id'] = args.container opts = {}
opts['signal'] = args.signal opts['id'] = container
try: opts['signal'] = args.signal
cs.containers.kill(**opts) try:
print( cs.containers.kill(**opts)
"Request to kill signal to container %s has been accepted." % print(
args.container) "Request to kill signal to container %s has been accepted." %
except Exception as e: container)
print( except Exception as e:
"kill signal for container %(container)s failed: %(e)s" % print(
{'container': args.container, 'e': e}) "kill signal for container %(container)s failed: %(e)s" %
{'container': container, 'e': e})
@utils.arg('-n', '--name', @utils.arg('-n', '--name',