diff --git a/devstack/lib/ironic b/devstack/lib/ironic index aae8ca5cf3..cd27c35212 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -2943,8 +2943,16 @@ function upload_baremetal_ironic_efiboot { sudo mkdir -p $efiboot_mount/efi/boot - sudo cp "$IRONIC_GRUB2_SHIM_FILE" $efiboot_mount/efi/boot/bootx64.efi - sudo cp "$IRONIC_GRUB2_FILE" $efiboot_mount/efi/boot/grubx64.efi + if [[ "$IRONIC_GRUB2_SHIM_FILE" =~ "http".* ]]; then + sudo wget "$IRONIC_GRUB2_SHIM_FILE" -O $efiboot_mount/efi/boot/bootx64.efi + else + sudo cp "$IRONIC_GRUB2_SHIM_FILE" $efiboot_mount/efi/boot/bootx64.efi + fi + if [[ "$IRONIC_GRUB2_FILE" =~ "http".* ]]; then + sudo wget "$IRONIC_GRUB2_FILE" -O $efiboot_mount/efi/boot/grubx64.efi + else + sudo cp "$IRONIC_GRUB2_FILE" $efiboot_mount/efi/boot/grubx64.efi + fi sudo umount $efiboot_mount @@ -2981,7 +2989,7 @@ function upload_baremetal_ironic_efiboot { # NOTE(dtantsur): this is likely incorrect efi_grub_path=EFI/BOOT/grub.cfg fi - iniset $IRONIC_CONF_FILE DEFAULT grub_config_path $efi_grub_path + iniset $IRONIC_CONF_FILE DEFAULT grub_config_path ${IRONIC_GRUB2_CONFIG_PATH:-$efi_grub_path} } # build deploy kernel+ramdisk, then upload them to glance diff --git a/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml index f311ef1ecb..58d9de525d 100644 --- a/zuul.d/ironic-jobs.yaml +++ b/zuul.d/ironic-jobs.yaml @@ -299,6 +299,9 @@ # result and makes this job VERY sensitive to heavy disk IO of the # underlying hypervisor/cloud. IRONIC_CALLBACK_TIMEOUT: 800 + IRONIC_GRUB2_SHIM_FILE: https://mirror.iad3.inmotion.opendev.org/centos-stream/9-stream/BaseOS/x86_64/os/EFI/BOOT/BOOTX64.EFI + IRONIC_GRUB2_FILE: https://mirror.iad3.inmotion.opendev.org/centos-stream/9-stream/BaseOS/x86_64/os/EFI/BOOT/grubx64.efi + IRONIC_GRUB2_CONFIG_PATH: EFI/BOOT/grub.cfg devstack_services: s-account: True s-container: True