diff --git a/ansible/roles/haproxy-config/defaults/main.yml b/ansible/roles/haproxy-config/defaults/main.yml
index 0de7601479752334326cbbd36af550467f0f42ee..595e00adafcb8a6ebd18d92b543af1e7e8fbf9fa 100644
--- a/ansible/roles/haproxy-config/defaults/main.yml
+++ b/ansible/roles/haproxy-config/defaults/main.yml
@@ -1,7 +1,6 @@
 ---
 project_name: "haproxy-config"
 
-# DEPRECATED(yoctozepto): using "haproxy_single_service_listen.cfg.j2" here is deprecated
 haproxy_service_template: "haproxy_single_service_split.cfg.j2"
 
 # Extra frontend/backend options (additive with locally defined options)
diff --git a/ansible/roles/haproxy-config/templates/haproxy_single_service_listen.cfg.j2 b/ansible/roles/haproxy-config/templates/haproxy_single_service_listen.cfg.j2
deleted file mode 100644
index 5645c77989dad2d1a74f0a82fef0d73e62dba1ed..0000000000000000000000000000000000000000
--- a/ansible/roles/haproxy-config/templates/haproxy_single_service_listen.cfg.j2
+++ /dev/null
@@ -1,111 +0,0 @@
-#jinja2: lstrip_blocks: True
-{%- set external_tls_bind_info = 'ssl crt /etc/haproxy/haproxy.pem' if kolla_enable_tls_external|bool else '' %}
-{%- set internal_tls_bind_info = 'ssl crt /etc/haproxy/haproxy-internal.pem' if kolla_enable_tls_internal|bool else '' %}
-
-{%- macro userlist_macro(service_name, auth_user, auth_pass) %}
-userlist {{ service_name }}-user
-  user {{ auth_user }} insecure-password {{ auth_pass }}
-{% endmacro %}
-
-{%- macro listen_macro(service_name, service_port, listen_port,
-                       service_mode, external,
-                       haproxy_http_extra, haproxy_tcp_extra, host_group,
-                       custom_member_list, auth_user, auth_pass, tls_backend) %}
-listen {{ service_name }}
-    {% if service_mode == 'redirect' %}
-    mode http
-    {% else %}
-    mode {{ service_mode }}
-    {% endif %}
-    {% if service_mode == 'http' %}
-        {# Set up auth if required #}
-        {% if auth_user and auth_pass %}
-    acl auth_acl http_auth({{ service_name }}-user)
-    http-request auth realm basicauth unless auth_acl
-        {% endif %}
-    {# Delete any pre-populated XFP header #}
-    http-request del-header X-Forwarded-Proto
-        {% for http_option in haproxy_http_extra %}
-    {{ http_option }}
-        {% endfor %}
-    {% elif service_mode == 'tcp' %}
-        {% for tcp_option in haproxy_tcp_extra %}
-    {{ tcp_option }}
-        {% endfor %}
-    {% endif %}
-    {% set tls_option = '' %}
-    {% if external|bool %}
-        {% set vip_address = kolla_external_vip_address %}
-        {% if service_mode == 'http' %}
-            {% set tls_option = external_tls_bind_info %}
-    {# Replace the XFP header for external https requests #}
-    http-request set-header X-Forwarded-Proto https if { ssl_fc }
-        {% endif %}
-    {% else %}
-        {% set vip_address = kolla_internal_vip_address %}
-        {% if service_mode == 'http' %}
-            {% set tls_option = internal_tls_bind_info %}
-    {# Replace the XFP header for internal https requests #}
-    http-request set-header X-Forwarded-Proto https if { ssl_fc }
-        {% endif %}
-    {% endif %}
-    {{ "bind %s:%s %s"|e|format(vip_address, service_port, tls_option)|trim() }}
-    {# Redirect mode sets a redirect scheme instead of members #}
-    {% if service_mode == 'redirect' %}
-    redirect scheme https code 301 if !{ ssl_fc }
-    {% else %}
-        {% if custom_member_list is not none %}
-            {% for custom_member in custom_member_list %}
-    {{ custom_member }}
-            {% endfor %}
-        {% else %}
-            {% set backend_tls_info = '' %}
-            {% if tls_backend|bool %}
-                {% set haproxy_health_check_final = haproxy_health_check_ssl %}
-                {% if kolla_verify_tls_backend|bool %}
-                    {% set backend_tls_info = 'ssl verify required ca-file %s'|format(haproxy_backend_cacert) %}
-                {% else %}
-                    {% set backend_tls_info = 'ssl verify none' %}
-                {% endif %}
-            {% else %}
-                {% set haproxy_health_check_final = haproxy_health_check %}
-            {% endif %}
-            {% for host in groups[host_group] %}
-                {% set host_name = hostvars[host].ansible_facts.hostname %}
-                {% set host_ip = 'api' | kolla_address(host) %}
-    server {{ host_name }} {{ host_ip }}:{{ listen_port }} {{ haproxy_health_check_final }} {{ backend_tls_info }}
-            {% endfor %}
-        {% endif %}
-    {% endif %}
-{% endmacro %}
-
-{%- set haproxy = service.haproxy|default({}) %}
-{%- for haproxy_name, haproxy_service in haproxy.items() %}
-    {# External defaults to false #}
-    {% set external = haproxy_service.external|default(false)|bool %}
-    {# Skip anything that is external when the external vip is not enabled #}
-    {% if haproxy_service.enabled|bool and (not external or haproxy_enable_external_vip|bool)%}
-        {# Here we define variables and their defaults #}
-        {# services can be listening on a different port than haproxy #}
-        {% set listen_port = haproxy_service.listen_port|default(haproxy_service.port) %}
-        {# Custom member list can use jinja to generate a semicolon separated list #}
-        {% set custom_member_list = haproxy_service.custom_member_list|default(none) %}
-        {# Mode defaults to http #}
-        {% set mode = haproxy_service.mode|default('http') %}
-        {# Use the parent host group but allow it to be overridden #}
-        {% set host_group = haproxy_service.host_group|default(service.group) %}
-        {# Additional options can be defined in config, and are additive to the global extras #}
-        {% set haproxy_tcp_extra = haproxy_service.frontend_tcp_extra|default([]) + haproxy_service.backend_tcp_extra|default([]) + haproxy_frontend_tcp_extra + haproxy_backend_tcp_extra %}
-        {% set haproxy_http_extra = haproxy_service.frontend_http_extra|default([]) + haproxy_service.backend_http_extra|default([]) + haproxy_frontend_http_extra + haproxy_backend_http_extra %}
-        {% set tls_backend = haproxy_service.tls_backend|default(false) %}
-        {# Allow for basic auth #}
-        {% set auth_user = haproxy_service.auth_user|default() %}
-        {% set auth_pass = haproxy_service.auth_pass|default() %}
-        {% if auth_user and auth_pass %}
-{{ userlist_macro(haproxy_name, auth_user, auth_pass) }}
-        {% endif %}
-{{ listen_macro(haproxy_name, haproxy_service.port, listen_port,
-                mode, external, haproxy_http_extra, haproxy_tcp_extra,
-                host_group, custom_member_list, auth_user, auth_pass, tls_backend) }}
-    {% endif %}
-{%- endfor -%}
diff --git a/releasenotes/notes/haproxy-default-template-upgrade-c9b88d3385a5d257.yaml b/releasenotes/notes/haproxy-default-template-upgrade-c9b88d3385a5d257.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d3b9d955c2730781cb6c5a2bf93c1a78354fa879
--- /dev/null
+++ b/releasenotes/notes/haproxy-default-template-upgrade-c9b88d3385a5d257.yaml
@@ -0,0 +1,5 @@
+---
+upgrade:
+  - |
+    The ``haproxy_single_service_listen.cfg.j2`` template is
+    not supported in haproxy roles and has been deleted.