diff --git a/ansible/roles/kolla-ansible/templates/requirements.txt.j2 b/ansible/roles/kolla-ansible/templates/requirements.txt.j2
index ff323513fde01111973e1061f1309c23d5a9bcd8..95605ff3018019942592aca4040b5bda5a90c00b 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.6,<2.9
+ansible>=2.8,<2.10
 {% if ansible_os_family == 'RedHat' and ansible_distribution_major_version | int >= 8 %}
 selinux
 {% endif %}
diff --git a/releasenotes/notes/ansible-2.8-2.9-2df006b066704417.yaml b/releasenotes/notes/ansible-2.8-2.9-2df006b066704417.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a837c3e0641e7d2ef9eec4652eac751f9b574dab
--- /dev/null
+++ b/releasenotes/notes/ansible-2.8-2.9-2df006b066704417.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+  - |
+    Updates the minimum supported version of Ansible from 2.6 to 2.8, and the
+    maximum supported version from 2.8 to 2.9. This is true for both Kayobe and
+    Kolla Ansible.
diff --git a/requirements.txt b/requirements.txt
index 94ea1a95f97d8e30b03f2da570a17b967e828af3..d31972453230c4a0394001111add27ea1febebc1 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.6.0,<2.9.0 # GPLv3
+ansible>=2.8.0,<2.10.0 # GPLv3
 cliff>=2.5.0,<2.15.0 # Apache
 netaddr!=0.7.16,>=0.7.13 # BSD
 PyYAML>=3.10.0 # MIT