Debian/Ubuntu: Fix wrong source path to copy efi file

In Debian/Ubuntu, the efi file installed by the ipxe package is named
"snponly.efi" instead of "ipxe-snponly.efi". This fixes the wrong name
so that the file can be copied without error by default.

Change-Id: I1e8a2d12fee99e468eebf6afa040589803be039a
This commit is contained in:
Takashi Kajinami 2022-07-04 01:25:48 +09:00
parent 0d75b53663
commit 38c3def176
5 changed files with 31 additions and 39 deletions

View File

@ -85,8 +85,7 @@
# (optional) Bootfile DHCP parameter for UEFI boot mode for the
# ipxe boot interface. No separate configuration template is required
# when using ipxe.
# Defaults to snponly.efi, which supports UEFI firmware with network
# enablement, which is a standard feature in UEFI.
# Defaults to $::ironic::params::uefi_ipxe_bootfile_name
#
# [*ipxe_timeout*]
# (optional) ipxe timeout in second.
@ -142,7 +141,7 @@ class ironic::drivers::pxe (
$instance_master_path = $::os_service_default,
$uefi_pxe_bootfile_name = 'bootx64.efi',
$uefi_pxe_config_template = $::os_service_default,
$uefi_ipxe_bootfile_name = 'snponly.efi',
$uefi_ipxe_bootfile_name = $::ironic::params::uefi_ipxe_bootfile_name,
$ipxe_timeout = $::os_service_default,
$enable_ppc64le = false,
$boot_retry_timeout = $::os_service_default,
@ -152,7 +151,7 @@ class ironic::drivers::pxe (
$loader_file_paths = $::os_service_default,
# DEPRECATED PARAMETERS
$ip_version = undef,
) {
) inherits ironic::params {
include ironic::deps
include ironic::pxe::common

View File

@ -192,7 +192,7 @@
# (optional) Name of efi file used to boot servers with iPXE + UEFI. This
# should be consistent with the uefi_ipxe_bootfile_name parameter in pxe
# driver.
# Defaults to 'snponly.efi'
# Defaults to $::ironic::parmas::uefi_ipxe_bootfile_name
#
class ironic::inspector (
$package_ensure = 'present',
@ -230,14 +230,13 @@ class ironic::inspector (
$enable_ppc64le = false,
$default_transport_url = 'fake://',
$port_physnet_cidr_map = {},
$uefi_ipxe_bootfile_name = 'snponly.efi',
) {
$uefi_ipxe_bootfile_name = $::ironic::params::uefi_ipxe_bootfile_name,
) inherits ironic::params {
validate_legacy(Array, 'validate_array', $dnsmasq_ip_subnets)
validate_legacy(Hash, 'validate_hash', $port_physnet_cidr_map)
include ironic::deps
include ironic::params
include ironic::pxe::common
include ironic::inspector::db
include ironic::inspector::policy

View File

@ -53,6 +53,8 @@ class ironic::params {
$staging_drivers_package = 'openstack-ironic-staging-drivers'
$systemd_python_package = 'systemd-python'
$ipxe_rom_dir = '/usr/share/ipxe'
$ipxe_name_base = 'ipxe-snponly'
$uefi_ipxe_bootfile_name = 'snponly.efi'
$ironic_wsgi_script_path = '/var/www/cgi-bin/ironic'
$ironic_wsgi_script_source = '/usr/bin/ironic-api-wsgi'
if (Integer.new($::os['release']['major']) > 8) {
@ -89,6 +91,8 @@ class ironic::params {
$staging_drivers_package = 'ironic-staging-drivers'
$systemd_python_package = 'python-systemd'
$ipxe_rom_dir = '/usr/lib/ipxe'
$ipxe_name_base = 'snponly'
$uefi_ipxe_bootfile_name = 'snponly.efi'
$ironic_wsgi_script_path = '/usr/lib/cgi-bin/ironic'
$ironic_wsgi_script_source = '/usr/bin/ironic-api-wsgi'
$xinetd_available = true

View File

@ -54,15 +54,15 @@
#
# [*ipxe_name_base*]
# (optional) Beginning of the source file name which is copied to
# $tftproot/ipxe.efi. Setting this to 'ipxe-snponly' on CentOS8 would result
# in the source file being /usr/share/ipxe/ipxe-snponly-x86_64.efi
# Defaults to 'ipxe-snponly'
# $tftproot/ipxe.efi. Setting this to 'ipxe-snponly' on CentOS/RHEL would
# results in the source file being /usr/share/ipxe/ipxe-snponly-x86_64.efi.
# Defaults to $::ironic::params::ipxe_name_base
#
# [*uefi_ipxe_bootfile_name*]
# (optional) Name of efi file used to boot servers with iPXE + UEFI. This
# should be consistent with the uefi_ipxe_bootfile_name parameter in pxe
# driver.
# Defaults to 'snponly.efi'
# Defaults to $::ironic::params::uefi_ipxe_bootfile_name
#
# [*uefi_pxe_bootfile_name*]
# (optional) Name of efi file used to boot servers with PXE + UEFI. This
@ -88,8 +88,8 @@ class ironic::pxe (
$syslinux_path = $::ironic::params::syslinux_path,
$syslinux_files = $::ironic::params::syslinux_files,
$tftp_bind_host = undef,
$ipxe_name_base = 'ipxe-snponly',
$uefi_ipxe_bootfile_name = 'snponly.efi',
$ipxe_name_base = $::ironic::params::ipxe_name_base,
$uefi_ipxe_bootfile_name = $::ironic::params::uefi_ipxe_bootfile_name,
$uefi_pxe_bootfile_name = 'bootx64.efi',
$tftp_use_xinetd = $::ironic::params::xinetd_available,
$dnsmasq_log_facility = undef,

View File

@ -22,21 +22,11 @@ require 'spec_helper'
describe 'ironic::drivers::pxe' do
let :default_params do
{ :uefi_ipxe_bootfile_name => 'snponly.efi',
:uefi_pxe_bootfile_name => 'bootx64.efi',
}
end
let :params do
{}
end
shared_examples_for 'ironic pxe driver' do
let :p do
default_params.merge(params)
end
it 'configures ironic.conf' do
is_expected.to contain_ironic_config('pxe/kernel_append_params').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('pxe/pxe_bootfile_name').with_value('<SERVICE DEFAULT>')
@ -96,25 +86,25 @@ describe 'ironic::drivers::pxe' do
end
it 'should replace default parameter with new value' do
is_expected.to contain_ironic_config('pxe/kernel_append_params').with_value(p[:kernel_append_params])
is_expected.to contain_ironic_config('pxe/pxe_config_template').with_value(p[:pxe_config_template])
is_expected.to contain_ironic_config('pxe/tftp_server').with_value(p[:tftp_server])
is_expected.to contain_ironic_config('pxe/tftp_root').with_value(p[:tftp_root])
is_expected.to contain_ironic_config('pxe/images_path').with_value(p[:images_path])
is_expected.to contain_ironic_config('pxe/tftp_master_path').with_value(p[:tftp_master_path])
is_expected.to contain_ironic_config('pxe/instance_master_path').with_value(p[:instance_master_path])
is_expected.to contain_ironic_config('pxe/uefi_pxe_bootfile_name').with_value(p[:uefi_pxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/uefi_pxe_config_template').with_value(p[:uefi_pxe_config_template])
is_expected.to contain_ironic_config('pxe/uefi_ipxe_bootfile_name').with_value(p[:uefi_ipxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/ipxe_timeout').with_value(p[:ipxe_timeout])
is_expected.to contain_ironic_config('pxe/pxe_bootfile_name').with_value(p[:pxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/boot_retry_timeout').with_value(p[:boot_retry_timeout])
is_expected.to contain_ironic_config('pxe/boot_retry_check_interval').with_value(p[:boot_retry_check_interval])
is_expected.to contain_ironic_config('pxe/kernel_append_params').with_value(params[:kernel_append_params])
is_expected.to contain_ironic_config('pxe/pxe_config_template').with_value(params[:pxe_config_template])
is_expected.to contain_ironic_config('pxe/tftp_server').with_value(params[:tftp_server])
is_expected.to contain_ironic_config('pxe/tftp_root').with_value(params[:tftp_root])
is_expected.to contain_ironic_config('pxe/images_path').with_value(params[:images_path])
is_expected.to contain_ironic_config('pxe/tftp_master_path').with_value(params[:tftp_master_path])
is_expected.to contain_ironic_config('pxe/instance_master_path').with_value(params[:instance_master_path])
is_expected.to contain_ironic_config('pxe/uefi_pxe_bootfile_name').with_value(params[:uefi_pxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/uefi_pxe_config_template').with_value(params[:uefi_pxe_config_template])
is_expected.to contain_ironic_config('pxe/uefi_ipxe_bootfile_name').with_value(params[:uefi_ipxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/ipxe_timeout').with_value(params[:ipxe_timeout])
is_expected.to contain_ironic_config('pxe/pxe_bootfile_name').with_value(params[:pxe_bootfile_name])
is_expected.to contain_ironic_config('pxe/boot_retry_timeout').with_value(params[:boot_retry_timeout])
is_expected.to contain_ironic_config('pxe/boot_retry_check_interval').with_value(params[:boot_retry_check_interval])
is_expected.to contain_ironic_config('pxe/dir_permission').with_value('0o755')
is_expected.to contain_ironic_config('pxe/file_permission').with_value('0o644')
is_expected.to contain_ironic_config('pxe/loader_file_paths')
.with_value('ipxe.efi:/usr/share/ipxe/ipxe-snponly-x86_64.efi,undionly.kpxe:/usr/share/ipxe/undionly.kpxe')
is_expected.to contain_ironic_config('pxe/ip_version').with_value(p[:ip_version])
is_expected.to contain_ironic_config('pxe/ip_version').with_value(params[:ip_version])
end
end