diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml
index 4535ae0f405a0d2722a0e9d42720d337285ced6c..dbf640b364633e25d6fc3a2b122ba635ea178a2c 100644
--- a/ansible/roles/neutron/defaults/main.yml
+++ b/ansible/roles/neutron/defaults/main.yml
@@ -598,7 +598,7 @@ extension_drivers:
     enabled: "{{ enable_neutron_qos | bool }}"
   - name: "port_security"
     enabled: true
-  - name: "dns"
+  - name: "subnet_dns_publish_fixed_ip"
     enabled: "{{ enable_designate | bool }}"
   - name: "sfc"
     enabled: "{{ enable_neutron_sfc | bool }}"
diff --git a/releasenotes/notes/neutron-dns-ce05a8908cad96d5.yaml b/releasenotes/notes/neutron-dns-ce05a8908cad96d5.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dc6c2622122779c070c1856c78e7648235867e8f
--- /dev/null
+++ b/releasenotes/notes/neutron-dns-ce05a8908cad96d5.yaml
@@ -0,0 +1,8 @@
+---
+upgrade:
+  - |
+    If both Designate and Neutron are enabled, Neutron now uses the
+    ``subnet_dns_publish_fixed_ip`` instead of the simpler ``dns``
+    extension in order to support more features in the DNS integration.
+    Override via the ``neutron_extension_drivers`` config option if this
+    is not suitable for your deployment.