diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py
index dc542aece44e524def669244d38604973a764c21..8a079e0f29bd386b894a47a7cba675c7b35b8a4c 100644
--- a/ansible/library/kolla_docker.py
+++ b/ansible/library/kolla_docker.py
@@ -242,7 +242,10 @@ class DockerWorker(object):
     def check_image(self):
         find_image = ':'.join(self.parse_image())
         for image in self.dc.images():
-            for image_name in image['RepoTags']:
+            repo_tags = image.get('RepoTags')
+            if not repo_tags:
+                continue
+            for image_name in repo_tags:
                 if image_name == find_image:
                     return image
 
diff --git a/tests/test_kolla_docker.py b/tests/test_kolla_docker.py
index a05d91edb29fd73e34a740b9520ebe78b8971207..f62bb603a68ff02b344c6b7668e0246ed93e1d49 100644
--- a/tests/test_kolla_docker.py
+++ b/tests/test_kolla_docker.py
@@ -388,6 +388,28 @@ class TestImage(base.BaseTestCase):
         self.dw.dc.images.assert_called_once_with()
         self.assertEqual(self.fake_data['images'][0], return_data)
 
+    def test_check_image_before_docker_1_12(self):
+        self.dw = get_DockerWorker(
+            {'image': 'myregistrydomain.com:5000/centos:7.0'})
+        self.fake_data['images'][0]['RepoTags'] = []
+        self.dw.dc.images.return_value = self.fake_data['images']
+
+        return_data = self.dw.check_image()
+        self.assertFalse(self.dw.changed)
+        self.dw.dc.images.assert_called_once_with()
+        self.assertEqual(self.fake_data['images'][1], return_data)
+
+    def test_check_image_docker_1_12(self):
+        self.dw = get_DockerWorker(
+            {'image': 'myregistrydomain.com:5000/centos:7.0'})
+        self.fake_data['images'][0]['RepoTags'] = None
+        self.dw.dc.images.return_value = self.fake_data['images']
+
+        return_data = self.dw.check_image()
+        self.assertFalse(self.dw.changed)
+        self.dw.dc.images.assert_called_once_with()
+        self.assertEqual(self.fake_data['images'][1], return_data)
+
     def test_compare_image(self):
         self.dw = get_DockerWorker(
             {'image': 'myregistrydomain.com:5000/ubuntu:16.04'})