From b09be6263f737d76adec97513c4fdbfa8789a638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= Date: Mon, 21 Mar 2022 16:46:41 +0100 Subject: [PATCH] Deprecate enable_ironic_ipxe Change-Id: I2ae1a402e723cd1063618d1b9fb18f6adb27a390 --- ansible/group_vars/all.yml | 1 - ansible/roles/ironic/defaults/main.yml | 4 +++- ansible/roles/ironic/tasks/config.yml | 4 ++-- ansible/roles/ironic/tasks/precheck.yml | 4 ++-- ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 | 2 +- ansible/roles/ironic/templates/ironic-tftp.json.j2 | 2 +- doc/source/reference/bare-metal/ironic-guide.rst | 2 +- etc/kolla/globals.yml | 1 - .../deprecate-enable_ironic_ipxe-e898cd436d7f50b3.yaml | 6 ++++++ 9 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 releasenotes/notes/deprecate-enable_ironic_ipxe-e898cd436d7f50b3.yaml diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index f87dd84f60..fd0c86811a 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -655,7 +655,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 5df650532c..ffe5fdbeed 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -345,7 +345,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.