diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml
index ab6c751ad1..ad735938bd 100644
--- a/ansible/roles/ironic/defaults/main.yml
+++ b/ansible/roles/ironic/defaults/main.yml
@@ -270,8 +270,7 @@ ironic_api_workers: "{{ openstack_service_workers }}"
 ironic_dnsmasq_interface: "{{ api_interface }}"
 ironic_dnsmasq_dhcp_ranges:
 ironic_dnsmasq_dhcp_default_lease_time: "10m"
-# TODO(yoctozepto): Do not rely on deprecated enable_ironic_ipxe in Zed.
-ironic_dnsmasq_serve_ipxe: "{{ enable_ironic_ipxe | default(\"yes\") }}"
+ironic_dnsmasq_serve_ipxe: true
 ironic_dnsmasq_boot_file: "{% if ironic_dnsmasq_serve_ipxe | bool %}undionly.kpxe{% else %}pxelinux.0{% endif %}"
 ironic_dnsmasq_uefi_ipxe_boot_file: "snponly.efi"
 ironic_cleaning_network:
diff --git a/releasenotes/notes/remove-deprecated-enable_ironic_ipxe-70addb60a0b3caa7.yaml b/releasenotes/notes/remove-deprecated-enable_ironic_ipxe-70addb60a0b3caa7.yaml
new file mode 100644
index 0000000000..5b8cea8c30
--- /dev/null
+++ b/releasenotes/notes/remove-deprecated-enable_ironic_ipxe-70addb60a0b3caa7.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+  - |
+    The deprecated ``enable_ironic_ipxe`` has been removed. The iPXE still
+    works by default and it can be disabled by setting the more-aptly-named
+    ``ironic_dnsmasq_serve_ipxe`` to ``false``.