diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index eb8ae81b06..0e9370d0f2 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -653,7 +653,6 @@ enable_horizon_watcher: "{{ enable_watcher | bool }}" enable_horizon_zun: "{{ enable_zun | bool }}" enable_influxdb: "{{ enable_monasca | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend == 'influxdb') }}" enable_ironic: "no" -enable_ironic_ipxe: "yes" enable_ironic_neutron_agent: "{{ enable_neutron | bool and enable_ironic | bool }}" enable_ironic_pxe_uefi: "no" enable_iscsid: "{{ enable_cinder | bool and enable_cinder_backend_iscsi | bool }}" diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml index ba80c617a4..dfc7ef4cc4 100644 --- a/ansible/roles/ironic/defaults/main.yml +++ b/ansible/roles/ironic/defaults/main.yml @@ -254,7 +254,9 @@ openstack_ironic_inspector_auth: "{{ openstack_auth }}" ironic_dnsmasq_interface: "{{ api_interface }}" ironic_dnsmasq_dhcp_range: ironic_dnsmasq_default_gateway: -ironic_dnsmasq_boot_file: "{% if enable_ironic_ipxe | bool %}undionly.kpxe{% else %}pxelinux.0{% endif %}" +# TODO(yoctozepto): Do not rely on deprecated enable_ironic_ipxe in Zed. +ironic_dnsmasq_serve_ipxe: "{{ enable_ironic_ipxe | default(\"yes\") }}" +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: ironic_console_serial_speed: "115200n8" diff --git a/ansible/roles/ironic/tasks/config.yml b/ansible/roles/ironic/tasks/config.yml index 7b9cab1b83..742f7081a4 100644 --- a/ansible/roles/ironic/tasks/config.yml +++ b/ansible/roles/ironic/tasks/config.yml @@ -143,7 +143,7 @@ - inventory_hostname in groups[service.group] - service.enabled | bool - not enable_ironic_pxe_uefi | bool - - not enable_ironic_ipxe | bool + - not ironic_dnsmasq_serve_ipxe | bool notify: - Restart ironic-tftp container @@ -183,7 +183,7 @@ - inventory_hostname in groups[service.group] - service.enabled | bool - not enable_ironic_pxe_uefi | bool - - not enable_ironic_ipxe | bool + - not ironic_dnsmasq_serve_ipxe | bool notify: - Restart ironic-tftp container diff --git a/ansible/roles/ironic/tasks/precheck.yml b/ansible/roles/ironic/tasks/precheck.yml index dabf1338d5..be8d03b07c 100644 --- a/ansible/roles/ironic/tasks/precheck.yml +++ b/ansible/roles/ironic/tasks/precheck.yml @@ -61,8 +61,8 @@ when: # Only required when Ironic inspector is in use. - groups['ironic-inspector'] | length > 0 - - (not enable_ironic_ipxe | bool and inventory_hostname in groups['ironic-tftp']) or - (enable_ironic_ipxe | bool and inventory_hostname in groups['ironic-http']) + - (not ironic_dnsmasq_serve_ipxe | bool and inventory_hostname in groups['ironic-tftp']) or + (ironic_dnsmasq_serve_ipxe | bool and inventory_hostname in groups['ironic-http']) - not enable_ironic_pxe_uefi | bool with_items: - "ironic-agent.kernel" diff --git a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 index 7b772bd552..7fb316a6be 100644 --- a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 +++ b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 @@ -18,7 +18,7 @@ dhcp-option=3,{{ ironic_dnsmasq_default_gateway }} dhcp-option=option:tftp-server,{{ api_interface_address }} dhcp-option=option:server-ip-address,{{ api_interface_address }} dhcp-option=210,/var/lib/ironic/tftpboot/ -{% if enable_ironic_ipxe | bool %} +{% if ironic_dnsmasq_serve_ipxe | bool %} dhcp-match=ipxe,175 dhcp-match=set:efi,option:client-arch,7 dhcp-match=set:efi,option:client-arch,9 diff --git a/ansible/roles/ironic/templates/ironic-tftp.json.j2 b/ansible/roles/ironic/templates/ironic-tftp.json.j2 index a31c73c94d..f3b426fcf7 100644 --- a/ansible/roles/ironic/templates/ironic-tftp.json.j2 +++ b/ansible/roles/ironic/templates/ironic-tftp.json.j2 @@ -4,7 +4,7 @@ { "command": "/usr/sbin/in.tftpd --verbose --foreground --user root --address 0.0.0.0:69 --map-file /map-file /var/lib/ironic/tftpboot", "config_files": [ -{% if not enable_ironic_ipxe | bool and groups['ironic-inspector'] | length > 0 %} +{% if not ironic_dnsmasq_serve_ipxe | bool and groups['ironic-inspector'] | length > 0 %} {% if not enable_ironic_pxe_uefi | bool %} { "source": "{{ container_config_directory }}/ironic-agent.kernel", diff --git a/doc/source/reference/bare-metal/ironic-guide.rst b/doc/source/reference/bare-metal/ironic-guide.rst index 811434094d..a239e9c448 100644 --- a/doc/source/reference/bare-metal/ironic-guide.rst +++ b/doc/source/reference/bare-metal/ironic-guide.rst @@ -85,7 +85,7 @@ plain PXE by setting the following in .. code-block:: yaml - enable_ironic_ipxe: "no" + ironic_dnsmasq_serve_ipxe: "no" To revert Ironic to previous default as well, set ``pxe`` as ``default_boot_interface`` in ``/etc/kolla/config/ironic.conf``: diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml index a0dc5c4f2f..bd756c9680 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -336,7 +336,6 @@ #enable_horizon_zun: "{{ enable_zun | bool }}" #enable_influxdb: "{{ enable_monasca | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend == 'influxdb') }}" #enable_ironic: "no" -#enable_ironic_ipxe: "yes" #enable_ironic_neutron_agent: "{{ enable_neutron | bool and enable_ironic | bool }}" #enable_ironic_pxe_uefi: "no" #enable_iscsid: "{{ enable_cinder | bool and enable_cinder_backend_iscsi | bool }}" diff --git a/releasenotes/notes/deprecate-enable_ironic_ipxe-e898cd436d7f50b3.yaml b/releasenotes/notes/deprecate-enable_ironic_ipxe-e898cd436d7f50b3.yaml new file mode 100644 index 0000000000..398b32dc79 --- /dev/null +++ b/releasenotes/notes/deprecate-enable_ironic_ipxe-e898cd436d7f50b3.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - | + ``enable_ironic_ipxe`` is deprecated in favour of + ``ironic_dnsmasq_serve_ipxe`` which reflects the effect better. + ``enable_ironic_ipxe`` will be removed in Zed.