From 1e25f60fd3302a851171229c9bdcf71a563b40f5 Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Wed, 6 Nov 2019 17:04:35 +0100 Subject: [PATCH] Ensure `isolinux.bin` is present and configured in devstack When devstack boots a node over virtual media in BIOS boot mode, `isolinux.bin` boot loader needs to be present for grilling hybrid ISO images. This patch makes devstack pulling necessary packages and configure ironic accordingly. Change-Id: I2f4e582aa05fc54610a4c43695124219714368c2 --- devstack/files/debs/ironic | 1 + devstack/files/rpms/ironic | 1 + devstack/lib/ironic | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/devstack/files/debs/ironic b/devstack/files/debs/ironic index e769a2d7f9..e9907b0be5 100644 --- a/devstack/files/debs/ironic +++ b/devstack/files/debs/ironic @@ -15,6 +15,7 @@ docker.io ipmitool iptables ipxe +isolinux gnupg libguestfs0 libguestfs-tools diff --git a/devstack/files/rpms/ironic b/devstack/files/rpms/ironic index ebc75c3d71..8ac5f7acc0 100644 --- a/devstack/files/rpms/ironic +++ b/devstack/files/rpms/ironic @@ -14,6 +14,7 @@ openvswitch sgabios shellinabox syslinux +syslinux-nonlinux tftp-server xinetd squashfs-tools diff --git a/devstack/lib/ironic b/devstack/lib/ironic index 0d99f1cef8..32cecf6ddb 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -1566,6 +1566,11 @@ function configure_ironic_conductor { iniset $IRONIC_CONF_FILE dhcp dhcp_provider $IRONIC_DHCP_PROVIDER iniset $IRONIC_CONF_FILE deploy default_boot_option $IRONIC_DEFAULT_BOOT_OPTION + + isolinux=$(find -L /usr /opt /etc -type f -name "isolinux.bin" | head -1) + if [[ -n "$isolinux" ]]; then + iniset $IRONIC_CONF_FILE DEFAULT isolinux_bin "$isolinux" + fi } # create_ironic_cache_dir() - Part of the init_ironic() process