diff --git a/ansible/roles/haproxy-config/tasks/main.yml b/ansible/roles/haproxy-config/tasks/main.yml
index ee1b2ef376..dadca2651f 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 0000000000..cf392448ed
--- /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>`__