diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 6ede47ef81..563f6e3af5 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -651,7 +651,7 @@ 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: "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/doc/source/reference/bare-metal/ironic-guide.rst b/doc/source/reference/bare-metal/ironic-guide.rst index 8fc9d1ff81..086cebc858 100644 --- a/doc/source/reference/bare-metal/ironic-guide.rst +++ b/doc/source/reference/bare-metal/ironic-guide.rst @@ -66,20 +66,8 @@ You may optionally pass extra kernel parameters to the inspection kernel using: in ``/etc/kolla/globals.yml``. -Enable iPXE booting (optional) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can optionally enable booting via iPXE by setting ``enable_ironic_ipxe`` to -true in ``/etc/kolla/globals.yml``: - -.. code-block:: yaml - - enable_ironic_ipxe: "yes" - -When iPXE booting is enabled, the ``ironic_ipxe`` container is used to serve -the iPXE boot images as described below. Regardless of the setting above, the -same container is used to support the ``direct`` deploy interface. - +Configure iPXE HTTP server port (optional) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The port used for the iPXE webserver is controlled via ``ironic_ipxe_port`` in ``/etc/kolla/globals.yml``: @@ -87,25 +75,31 @@ The port used for the iPXE webserver is controlled via ``ironic_ipxe_port`` in ironic_ipxe_port: "8089" -The following changes will occur if iPXE booting is enabled: +Revert to plain PXE (not recommended) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Starting with Yoga, Ironic has changed the default PXE from plain PXE to iPXE. +Kolla Ansible follows this upstream decision but allows users to revert to +plain PXE. Please note Kolla Ansible does not support plain PXE and iPXE at the +same time - the user must choose one. -- Ironic will be configured with the ``ipxe_enabled`` configuration option set - to true -- The inspection ramdisk and kernel will be loaded via iPXE -- The DHCP servers will be configured to chainload iPXE from an existing PXE - environment. You may also boot directly to iPXE by some other means e.g by - burning it to the option rom of your ethernet card. +If you have to revert to plain iPXE, set: -Note that due to a limitation in Kolla Ansible, PXE and iPXE cannot be used -together in a single deployment. +.. code-block:: yaml -In order to enable the iPXE driver in Ironic, set the ``[DEFAULT] -enabled_boot_interfaces`` option in ``/etc/kolla/config/ironic.conf``: + enable_ironic_ipxe: "no" + +And also remove ``ipxe`` from the ``enabled_boot_interfaces`` in +``/etc/kolla/config/ironic.conf``, leaving only ``pxe`` (and possibly other +alternatives) around: .. code-block:: yaml [DEFAULT] - enabled_boot_interfaces = ipxe + enabled_boot_interfaces = pxe + +When iPXE booting is enabled, the ``ironic_ipxe`` container is used to serve +the iPXE boot images as described below. Regardless of that setting, the +same container is used to support the ``direct`` deploy interface. Attach ironic to external keystone (optional) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml index 62bde14662..95a2aea94d 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -345,7 +345,7 @@ #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: "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/ironic-default-ipxe-1e9bb7a3f4994d84.yaml b/releasenotes/notes/ironic-default-ipxe-1e9bb7a3f4994d84.yaml new file mode 100644 index 0000000000..d22638e225 --- /dev/null +++ b/releasenotes/notes/ironic-default-ipxe-1e9bb7a3f4994d84.yaml @@ -0,0 +1,9 @@ +--- +upgrade: + - | + Starting with Yoga, Ironic has changed the default PXE from plain PXE to + iPXE. + Kolla Ansible follows this upstream decision but allows users to revert to + plain PXE. Please note Kolla Ansible does not support plain PXE and iPXE at + the same time - the user must choose one. For details, please refer to + Kolla Ansible's documentation.