From 1aaca08b483b25e250f468b8c80cbdb09c7c7a07 Mon Sep 17 00:00:00 2001 From: Jeffrey Zhang Date: Fri, 20 Jan 2017 01:38:51 +0800 Subject: [PATCH] Fix the kolla_toolbox module do not work on docker engine 1.10 docker engine 1.10 and docker engine 1.12 have different response for list containers. Use status=running filter instead. It is provided by all docker version. Closes-Bug: #1658015 Change-Id: I54df4b08f215322d97d604ebd84e04255a359ef6 --- ansible/library/kolla_toolbox.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ansible/library/kolla_toolbox.py b/ansible/library/kolla_toolbox.py index 1548995282..b1ac5509d8 100644 --- a/ansible/library/kolla_toolbox.py +++ b/ansible/library/kolla_toolbox.py @@ -87,14 +87,12 @@ def main(): module = AnsibleModule(argument_spec=specs, bypass_checks=True) client = docker.Client() command_line = gen_commandline(module.params) - kolla_toolbox = client.containers(all=True, - filters=dict(name='kolla_toolbox')) + kolla_toolbox = client.containers(filters=dict(name='kolla_toolbox', + status='running')) if not kolla_toolbox: - module.fail_json(msg='Can not find kolla_toolbox container in target') - kolla_toolbox = kolla_toolbox[0] - if kolla_toolbox['State'] != 'running': - module.fail_json(msg='kolla_toolbox container is not running') + module.fail_json(msg='kolla_toolbox container is not running.') + kolla_toolbox = kolla_toolbox[0] job = client.exec_create(kolla_toolbox, command_line) output = client.exec_start(job)