diff --git a/ansible/roles/kolla-ansible/templates/requirements.txt.j2 b/ansible/roles/kolla-ansible/templates/requirements.txt.j2
index 95605ff3018019942592aca4040b5bda5a90c00b..1917f05560d358bb1cc25fd92ffacd8a492bddd4 100644
--- a/ansible/roles/kolla-ansible/templates/requirements.txt.j2
+++ b/ansible/roles/kolla-ansible/templates/requirements.txt.j2
@@ -7,7 +7,7 @@ kolla-ansible=={{ kolla_openstack_release }}
 {% endif %}
 # Limit the version of ansible used by kolla-ansible to avoid new releases from
 # breaking tested code. Changes to this limit should be tested.
-ansible>=2.8,<2.10
+ansible>=2.8,<2.10,!=2.8.9
 {% if ansible_os_family == 'RedHat' and ansible_distribution_major_version | int >= 8 %}
 selinux
 {% endif %}
diff --git a/requirements.txt b/requirements.txt
index d31972453230c4a0394001111add27ea1febebc1..79e4c41b7171a2651729c1451db16a32fa62cca7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,7 @@
 # process, which may cause wedges in the gate later.
 
 pbr>=2.0 # Apache-2.0
-ansible>=2.8.0,<2.10.0 # GPLv3
+ansible>=2.8.0,<2.10.0,!=2.8.9 # GPLv3
 cliff>=2.5.0,<2.15.0 # Apache
 netaddr!=0.7.16,>=0.7.13 # BSD
 PyYAML>=3.10.0 # MIT