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. # (optional) Specifies how firmware image should be served.
# Defaults to $facts['os_service_default'] # 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 ( class ironic::drivers::redfish (
$package_ensure = 'present', $package_ensure = 'present',
$connection_attempts = $facts['os_service_default'], $connection_attempts = $facts['os_service_default'],
@@ -85,6 +100,9 @@ class ironic::drivers::redfish (
$firmware_update_status_interval = $facts['os_service_default'], $firmware_update_status_interval = $facts['os_service_default'],
$firmware_update_fail_interval = $facts['os_service_default'], $firmware_update_fail_interval = $facts['os_service_default'],
$firmware_source = $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 include ironic::deps
@@ -103,6 +121,9 @@ class ironic::drivers::redfish (
'redfish/firmware_update_status_interval': value => $firmware_update_status_interval; 'redfish/firmware_update_status_interval': value => $firmware_update_status_interval;
'redfish/firmware_update_fail_interval': value => $firmware_update_fail_interval; 'redfish/firmware_update_fail_interval': value => $firmware_update_fail_interval;
'redfish/firmware_source': value => $firmware_source; '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', 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_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_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/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 end
it 'installs sushy package' do it 'installs sushy package' do
@@ -62,8 +65,11 @@ describe 'ironic::drivers::redfish' do
:kernel_append_params => 'nofb nomodeset vga=normal', :kernel_append_params => 'nofb nomodeset vga=normal',
:file_permission => '0o644', :file_permission => '0o644',
:firmware_update_status_interval => 60, :firmware_update_status_interval => 60,
:firmware_update_fail_interval => 60, :firmware_update_fail_interval => 61,
:firmware_source => 'http', :firmware_source => 'http',
:raid_config_status_interval => 62,
:raid_config_fail_interval => 63,
:boot_mode_config_timeout => 901,
) )
end 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/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/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_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/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
end end