From 1aaca08b483b25e250f468b8c80cbdb09c7c7a07 Mon Sep 17 00:00:00 2001
From: Jeffrey Zhang <zhang.lei.fly@gmail.com>
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 154899528..b1ac5509d 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)
 
-- 
GitLab