diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py
index 728f0fd879ed51a97d7864020121408f695ec68f..9ff4ead66ebf721d88f8ddd63f4dbf59d5520f30 100644
--- a/ansible/library/kolla_docker.py
+++ b/ansible/library/kolla_docker.py
@@ -669,7 +669,8 @@ class DockerWorker(object):
                 msg="No such container: {}".format(name))
         else:
             self.changed = True
-            self.dc.restart(name, timeout=graceful_timeout)
+            self.dc.stop(name, timeout=graceful_timeout)
+            self.dc.start(name)
 
     def create_volume(self):
         if not self.check_volume():
diff --git a/tests/test_kolla_docker.py b/tests/test_kolla_docker.py
index f1fa89fa383921547ebdc4f21b0a148b975bf62e..7fb4015a01b5c001668758ea6ebadfe5a41d90a0 100644
--- a/tests/test_kolla_docker.py
+++ b/tests/test_kolla_docker.py
@@ -298,7 +298,8 @@ class TestContainer(base.BaseTestCase):
         self.assertTrue(self.dw.changed)
         self.dw.dc.containers.assert_called_once_with(all=True)
         self.dw.dc.inspect_container.assert_called_once_with('my_container')
-        self.dw.dc.restart.assert_called_once_with('my_container', timeout=10)
+        self.dw.dc.stop.assert_called_once_with('my_container', timeout=10)
+        self.dw.dc.start.assert_called_once_with('my_container')
 
     def test_restart_container_not_exists(self):
         self.dw = get_DockerWorker({'name': 'fake-container',