Add support for the firmware update feature in redfish driver

This patch introduces parameters related to the firmware update, which
was added to Ironic during Victoria cycle[1].

[1] f0e0ef634e55f46eda4942e9665d35c70d305365

Change-Id: If95ff0d0422142c3ed74eba4110969479a51139d
This commit is contained in:
Takashi Kajinami 2020-10-26 20:54:09 +09:00
parent 02d0fea829
commit 4de9654579
3 changed files with 57 additions and 28 deletions

View File

@ -57,6 +57,16 @@
# permission representation of file access permissions.
# Defaults to $::os_service_default.
#
# [*firmware_update_status_interval*]
# (optional) Number of seconds to wait between checking for completed
# firmware update tasks.
# Defaults to $::os_service_default
#
# [*firmware_update_fail_interval*]
# (optional) Number of seconds to wait between checking for failed firmware
# update tasks.
# Defaults to $::os_service_default
#
class ironic::drivers::redfish (
$package_ensure = 'present',
$connection_attempts = $::os_service_default,
@ -68,6 +78,8 @@ class ironic::drivers::redfish (
$swift_object_expiry_timeout = $::os_service_default,
$kernel_append_params = $::os_service_default,
$file_permission = $::os_service_default,
$firmware_update_status_interval = $::os_service_default,
$firmware_update_fail_interval = $::os_service_default,
) {
include ironic::deps
@ -83,6 +95,8 @@ class ironic::drivers::redfish (
'redfish/swift_object_expiry_timeout': value => $swift_object_expiry_timeout;
'redfish/kernel_append_params': value => $kernel_append_params;
'redfish/file_permission': value => $file_permission;
'redfish/firmware_update_status_interval': value => $firmware_update_status_interval;
'redfish/firmware_update_fail_interval': value => $firmware_update_fail_interval;
}
ensure_packages('python-sushy',

View File

@ -0,0 +1,9 @@
---
features:
- |
The ``ironic::driver::redfish`` class now supports the following two
parameters to set the polling intervals for the firmware update feature in
redfish driver.
- ``firmware_update_status_interval``
- ``firmware_update_fail_interval``

View File

@ -36,6 +36,8 @@ describe 'ironic::drivers::redfish' do
is_expected.to contain_ironic_config('redfish/swift_object_expiry_timeout').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/kernel_append_params').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_config('redfish/file_permission').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>')
end
it 'installs sushy package' do
@ -57,7 +59,9 @@ describe 'ironic::drivers::redfish' do
:swift_container => 'ironic_redfish_container',
:swift_object_expiry_timeout => 900,
:kernel_append_params => 'nofb nomodeset vga=normal',
:file_permission => '0o644'
:file_permission => '0o644',
:firmware_update_status_interval => 60,
:firmware_update_fail_interval => 60,
)
end
@ -71,6 +75,8 @@ describe 'ironic::drivers::redfish' do
is_expected.to contain_ironic_config('redfish/swift_object_expiry_timeout').with_value(900)
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)
end
end