diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py
index dacccfd829d906328e4213e1e8499987dee0ede4..a7f89aaf07ccf75b46623b4b48e20eb5bd15328e 100644
--- a/ansible/library/kolla_docker.py
+++ b/ansible/library/kolla_docker.py
@@ -677,7 +677,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',