diff --git a/lower-constraints.txt b/lower-constraints.txt
index de4283fcac5fc0e4cf0e8f6f17e6128f884e77ae..e951d1a753aa63374c3247cda48165d49105dcff 100644
--- a/lower-constraints.txt
+++ b/lower-constraints.txt
@@ -1,4 +1,5 @@
 alabaster==0.7.10
+ansible==2.8.0
 appdirs==1.4.3
 asn1crypto==0.24.0
 Babel==2.5.3
diff --git a/test-requirements.txt b/test-requirements.txt
index d1e5b433f1e28862ee3717cefe7a528053c01528..6b327bee8fdf0e64d795f4a6569cf82af8481f21 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11,3 +11,4 @@ coverage!=4.4,>=4.0 # Apache-2.0
 docker>=2.4.2 # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
 stestr>=2.0.0 # Apache-2.0
+ansible>=2.8.0 # GPLv3
diff --git a/tests/test_kolla_docker.py b/tests/test_kolla_docker.py
index 27ef9d4a29f430e6d803053a3cc5ea11d8df0137..c4c7b212484b889cd09ceb29817a864b2a339cbc 100644
--- a/tests/test_kolla_docker.py
+++ b/tests/test_kolla_docker.py
@@ -26,11 +26,6 @@ from docker.types import Ulimit
 from oslotest import base
 
 this_dir = os.path.dirname(sys.modules[__name__].__file__)
-# FIXME(yoctozepto): this modifies global interpreter state and affects tests
-# from other files
-sys.modules['ansible'] = mock.MagicMock()
-sys.modules['ansible.module_utils'] = mock.MagicMock()
-sys.modules['ansible.module_utils.basic'] = mock.MagicMock()
 kolla_docker_file = os.path.join(this_dir, '..', 'ansible',
                                  'library', 'kolla_docker.py')
 kd = imp.load_source('kolla_docker', kolla_docker_file)
diff --git a/tests/test_merge_config.py b/tests/test_merge_config.py
index 1638186f5d32672904fa795a3297e9efac500147..ab5427c1ade1f1bd1d966583b3227eed6b909f5c 100644
--- a/tests/test_merge_config.py
+++ b/tests/test_merge_config.py
@@ -15,8 +15,6 @@
 
 import imp
 import os
-import sys
-from unittest import mock
 
 from io import StringIO
 from oslotest import base
@@ -26,9 +24,6 @@ PROJECT_DIR = os.path.abspath(os.path.join(os. path.dirname(__file__), '../'))
 MERGE_CONFIG_FILE = os.path.join(PROJECT_DIR,
                                  'ansible/action_plugins/merge_configs.py')
 
-# FIXME(yoctozepto): this modifies global interpreter state and affects tests
-# from other files
-sys.modules['ansible.plugins'] = mock.MagicMock()
 
 merge_configs = imp.load_source('merge_configs', MERGE_CONFIG_FILE)