summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-07-22 00:53:46 +0000
committerGerrit Code Review <review@openstack.org>2022-07-22 00:53:46 +0000
commit7673cb827b0ef247fa87c852f370b4f5d7f5e39a (patch)
treee825f29c1e79d998f52692a2cab98fd8c12a75ba
parent36bbd363e8df4beeacc4e4ac4a79a671d61dc8c3 (diff)
parentc8be82c525bab0deac7c8e44a2f7c400e003f28f (diff)
downloadironic-7673cb827b0ef247fa87c852f370b4f5d7f5e39a.tar.gz
Merge "Deprecate syslinux"
-rw-r--r--doc/source/install/configure-pxe.rst77
-rw-r--r--doc/source/user/architecture.rst4
-rw-r--r--releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml26
3 files changed, 37 insertions, 70 deletions
diff --git a/doc/source/install/configure-pxe.rst b/doc/source/install/configure-pxe.rst
index 59346ce14..863ff1549 100644
--- a/doc/source/install/configure-pxe.rst
+++ b/doc/source/install/configure-pxe.rst
@@ -169,71 +169,6 @@ the PXE UEFI environment.
for them. Please check :doc:`../admin/drivers` for information on whether
your driver requires manual UEFI configuration.
-
-Legacy BIOS - Syslinux setup
-----------------------------
-
-In order to deploy instances with PXE on bare metal using Legacy BIOS boot
-mode, perform these additional steps on the ironic conductor node.
-
-#. Install the syslinux package with the PXE boot images:
-
- Ubuntu (16.04LTS and later)::
-
- sudo apt-get install syslinux-common pxelinux
-
- RHEL8/CentOS8/Fedora::
-
- sudo dnf install syslinux-tftpboot
-
- SUSE::
-
- sudo zypper install syslinux
-
-#. Copy the PXE image to ``/tftpboot``. The PXE image might be found at [1]_:
-
- Ubuntu (16.04LTS and later)::
-
- sudo cp /usr/lib/PXELINUX/pxelinux.0 /tftpboot
-
- RHEL8/CentOS8/SUSE::
-
- sudo cp /usr/share/syslinux/pxelinux.0 /tftpboot
-
-#. If whole disk images need to be deployed via PXE-netboot, copy the
- chain.c32 image to ``/tftpboot`` to support it:
-
- Ubuntu (16.04LTS and later)::
-
- sudo cp /usr/lib/syslinux/modules/bios/chain.c32 /tftpboot
-
- Fedora::
-
- sudo cp /boot/extlinux/chain.c32 /tftpboot
-
- RHEL8/CentOS8/SUSE::
-
- sudo cp /usr/share/syslinux/chain.c32 /tftpboot/
-
-#. If the version of syslinux is **greater than** 4 we also need to make sure
- that we copy the library modules into the ``/tftpboot`` directory [2]_
- [1]_. For example, for Ubuntu run::
-
- sudo cp /usr/lib/syslinux/modules/*/ldlinux.* /tftpboot
-
-#. Update the bare metal node with ``boot_mode:bios`` capability in
- node's properties field. See :ref:`boot_mode_support` for details.
-
-#. Make sure that bare metal node is configured to boot in Legacy BIOS boot mode
- and boot device is set to network/pxe.
-
-.. [1] On **Fedora/RHEL** the ``syslinux-tftpboot`` package already installs
- the library modules and PXE image at ``/tftpboot``. If the TFTP server
- is configured to listen to a different directory you should copy the
- contents of ``/tftpboot`` to the configured directory
-.. [2] http://www.syslinux.org/wiki/index.php/Library_modules
-
-
iPXE setup
----------
@@ -438,18 +373,18 @@ instead.
In the following example, since 'x86' and 'x86_64' keys are not in the
``pxe_bootfile_name_by_arch`` or ``pxe_config_template_by_arch`` options, x86
-and x86_64 nodes will be deployed by 'pxelinux.0' or 'bootx64.efi', depending
+and x86_64 nodes will be deployed by 'undionly.kpxe' or 'bootx64.efi', depending
on the node's ``boot_mode`` capability ('bios' or 'uefi'). However, aarch64
nodes will be deployed by 'grubaa64.efi', and ppc64 nodes by 'bootppc64'::
[pxe]
# Bootfile DHCP parameter. (string value)
- pxe_bootfile_name=pxelinux.0
+ pxe_bootfile_name=undionly.kpxe
# On ironic-conductor node, template file for PXE
# configuration. (string value)
- pxe_config_template = $pybasedir/drivers/modules/pxe_config.template
+ pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template
# Bootfile DHCP parameter for UEFI boot mode. (string value)
uefi_pxe_bootfile_name=bootx64.efi
@@ -478,6 +413,12 @@ nodes will be deployed by 'grubaa64.efi', and ppc64 nodes by 'bootppc64'::
iPXE based deployment, and defaults to the same behavior as the comperable
``[pxe]pxe_bootfile_by_arch`` setting for standard PXE.
+.. note::
+ When booting PowerPC based machines, the firmware loader directly boots
+ a kernel and ramdisk. It explicitly reads a "pxelinux" style template,
+ and then directly retrieves the files defined in the file without a
+ "network boot program".
+
PXE timeouts tuning
-------------------
diff --git a/doc/source/user/architecture.rst b/doc/source/user/architecture.rst
index 714c9e16e..de86f47de 100644
--- a/doc/source/user/architecture.rst
+++ b/doc/source/user/architecture.rst
@@ -83,8 +83,8 @@ through the steps involved during the provisioning of a bare metal instance.
These pre-requisites must be met before the deployment process:
* Dependent packages to be configured on the Bare Metal service node(s)
- where ironic-conductor is running like tftp-server, ipmi, syslinux etc for
- bare metal provisioning.
+ where ironic-conductor is running like tftp-server, ipmi, grub/ipxe, etc
+ for bare metal provisioning.
* Nova must be configured to make use of the bare metal service endpoint
and compute driver should be configured to use ironic driver on the Nova
compute node(s).
diff --git a/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml b/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml
new file mode 100644
index 000000000..670047a82
--- /dev/null
+++ b/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml
@@ -0,0 +1,26 @@
+---
+deprecations:
+ - |
+ Support for the `syslinux <https://wiki.syslinux.org/wiki/index.php?title=Syslinux_6_Changelog#Changes_in_6.04>`_
+ and the often separately package `isolinux <https://wiki.syslinux.org/wiki/index.php?title=ISOLINUX>`_
+ and `pxelinux <https://wiki.syslinux.org/wiki/index.php?title=PXELINUX>`_.
+ Legacy BIOS boot loaders, is deprecated and will be removed the future.
+ This is for two reasons. The first is because it is a BIOS mode bootloader,
+ and the shift to UEFI booting has reduced the need for these packages.
+ The second reason is a lack of maintenance, which is ultimately the same
+ reason Linux distributions are discussing dropping support and packaging.
+ Syslinux has not been updated since `2019 <https://repo.or.cz/syslinux.git/shortlog>`_.
+ Incidently, the file format it utilizes *is* supported by Power hardware,
+ and that may result in the configuration template remaining in Ironic for
+ the forseeable future.
+ - Support for use of `pxelinux <https://wiki.syslinux.org/wiki/index.php?title=PXELINUX>`_
+ is deprecated due to the deprecation of support for Syslinux.
+ - Support for virtual media booting with x86 Hardware in Legacy BIOS mode is
+ deprecated due to the dependency upon
+ `isolinux <https://wiki.syslinux.org/wiki/index.php?title=ISOLINUX>`_
+ for use of Legacy BIOS boot mode. ``isolinux`` is from the ``syslinux``
+ package and source tree.
+ - Deprecation of ``pxelinux``, as a result of the deprecation of ``syslinux``,
+ does ultimately mean the default for the ``pxe`` boot_interface to carry
+ defaults for the use of grub based network booting, specifically for
+ for operators who are unable to use iPXE.