redfish: Support more tunables

Add support for a few more tunable options so that all [redfish]
options can be managed.

Change-Id: Ibc6cf1a865f1fc91d968bf6a7393fd7c60c18ec7
This commit is contained in:
Takashi Kajinami 2024-05-04 23:41:20 +09:00
parent 1a3c11c6b5
commit 7073bf260d
3 changed files with 41 additions and 2 deletions

View File

@ -71,6 +71,21 @@
# (optional) Specifies how firmware image should be served.
# Defaults to $facts['os_service_default']
#
# [*raid_config_status_interval*]
# (optional) Number of seconds to wait between checking for completed raid
# config tasks.
# Defaults to $facts['os_service_default']
#
# [*raid_config_fail_interval*]
# (optional) Number of seconds to wait between checking for failed raid
# config tasks.
# Defaults to $facts['os_service_default']
#
# [*boot_mode_config_timeout*]
# (optional) Number of seconds to wait for boot mode or secure boot status
# change to take effect after a reboot.
# Defaults to $facts['os_service_default']
#
class ironic::drivers::redfish (
$package_ensure = 'present',
$connection_attempts = $facts['os_service_default'],
@ -85,6 +100,9 @@ class ironic::drivers::redfish (
$firmware_update_status_interval = $facts['os_service_default'],
$firmware_update_fail_interval = $facts['os_service_default'],
$firmware_source = $facts['os_service_default'],
$raid_config_status_interval = $facts['os_service_default'],
$raid_config_fail_interval = $facts['os_service_default'],
$boot_mode_config_timeout = $facts['os_service_default'],
) {
include ironic::deps
@ -103,6 +121,9 @@ class ironic::drivers::redfish (
'redfish/firmware_update_status_interval': value => $firmware_update_status_interval;
'redfish/firmware_update_fail_interval': value => $firmware_update_fail_interval;
'redfish/firmware_source': value => $firmware_source;
'redfish/raid_config_status_interval': value => $raid_config_status_interval;
'redfish/raid_config_fail_interval': value => $raid_config_fail_interval;
'redfish/boot_mode_config_timeout': value => $boot_mode_config_timeout;
}
ensure_packages('python-sushy',

View File

@ -0,0 +1,9 @@
---
features:
- |
The following new parameters have been added to
the ``ironic::drivers::redfish`` class.
- ``raid_config_status_interval``
- ``raid_config_fail_interval``
- ``boot_mode_config_timeout``

View File

@ -39,6 +39,9 @@ describe 'ironic::drivers::redfish' do
is_expected.to contain_ironic_config('redfish/firmware_update_status_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/firmware_update_fail_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/firmware_source').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/raid_config_status_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/raid_config_fail_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/boot_mode_config_timeout').with_value('<SERVICE DEFAULT>')
end
it 'installs sushy package' do
@ -62,8 +65,11 @@ describe 'ironic::drivers::redfish' do
:kernel_append_params => 'nofb nomodeset vga=normal',
:file_permission => '0o644',
:firmware_update_status_interval => 60,
:firmware_update_fail_interval => 60,
:firmware_update_fail_interval => 61,
:firmware_source => 'http',
:raid_config_status_interval => 62,
:raid_config_fail_interval => 63,
:boot_mode_config_timeout => 901,
)
end
@ -78,8 +84,11 @@ describe 'ironic::drivers::redfish' do
is_expected.to contain_ironic_config('redfish/kernel_append_params').with_value('nofb nomodeset vga=normal')
is_expected.to contain_ironic_config('redfish/file_permission').with_value('0o644')
is_expected.to contain_ironic_config('redfish/firmware_update_status_interval').with_value(60)
is_expected.to contain_ironic_config('redfish/firmware_update_fail_interval').with_value(60)
is_expected.to contain_ironic_config('redfish/firmware_update_fail_interval').with_value(61)
is_expected.to contain_ironic_config('redfish/firmware_source').with_value('http')
is_expected.to contain_ironic_config('redfish/raid_config_status_interval').with_value(62)
is_expected.to contain_ironic_config('redfish/raid_config_fail_interval').with_value(63)
is_expected.to contain_ironic_config('redfish/boot_mode_config_timeout').with_value(901)
end
end