diff --git a/ansible/roles/haproxy-config/tasks/main.yml b/ansible/roles/haproxy-config/tasks/main.yml
index ee1b2ef376ccd7937451579d971fa13d99a0cd34..dadca2651f674ba4d55096ba03b2d9e5bf4c452e 100644
--- a/ansible/roles/haproxy-config/tasks/main.yml
+++ b/ansible/roles/haproxy-config/tasks/main.yml
@@ -36,6 +36,7 @@
     - item.value.port is defined
     - item.value.external | default('false') | bool
     - enable_external_api_firewalld | bool
+    - kolla_action != "config"
   with_dict: "{{ project_services | extract_haproxy_services }}"
   notify:
     - "Reload firewalld"
diff --git a/releasenotes/notes/stop-firewalld-being-configured-during-genconfig-21e3fa4b9a6c677d.yaml b/releasenotes/notes/stop-firewalld-being-configured-during-genconfig-21e3fa4b9a6c677d.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cf392448ed980e2e49580d651b3bc5936ac7ebe6
--- /dev/null
+++ b/releasenotes/notes/stop-firewalld-being-configured-during-genconfig-21e3fa4b9a6c677d.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Prevent haproxy-config role from attempting to configure firewalld
+    during a kolla-ansible genconfig.
+    `LP#2002522 <https://launchpad.net/bugs/2002522>`__