integ/bmc
Eric MacDonald 4217f4ba6d Add setBootOveride config support to redfishtool
The recent upgrade of redfishtool from 1.1.5 to 1.1.8 introduced
a change that added a BootSourceOverrideMode key:value pair to the
payload of the 'setBootOverride Once <target>' patch request.

An issue was found were some or all servers from a manufacturer
exhibit undesirable behavior when the 'setBootOverride Once <target>'
patch request payload includes a BootSourceOverrideMode key:value pair.

The undesirable behavior ranges from outright command failure or
triggers the BMC to run a time consuming BIOS reconfiguraiton job
followed by an extra reboot.

This update remedies that by introducing a configuration file and
source code patch to the opensource redfishtool package and uses the
contents of the new configuraiton file and patch to change the
behavior of the setBootOverride command handling for select servers.

The configuration file contains a setBootOverride_overrides
section with two BootSourceOverrideMode exclude string lists,
one of server models and one of server manufacturers.

[setBootOverride_overrides]
   exclude_BootSourceOverrideMode_Models = "<model>", "<model>"
   exclude_BootSourceOverrideMode_Manufacturers = "<manufacturer>"

This update allows the new configuration file to be populated with
server model or manufacturer names that should exclude (not include)
the BootSourceOverrideMode as part of the payload thereby avoiding
the undesirable behavior.

If current server is found in either the models or manufacturers lists
then it is excluded from getting the BootSourceOverrideMode key:value
pair added to the 'setBootOverride Once <target>' patch request.

Test Plan:

PASS: Verify build and install of patched opensource redfishtool pkg
PASS: Verify install of AIO SX/AIO DX
PASS: - with/without excluded servers
PASS: - IPV4 and IPV6
PASS: Verify DC system install with HPE servers
PASS: Verify handling defaults to no exclusions if
PASS: - the new config file is missing
PASS: - the setBootOverride_overrides section is missing
PASS: - both exclude_BootSourceOverrideMode lists are missing
PASS: Verify handling when exclude_BootSourceOverrideMode lists
PASS: - are missing or empty.
PASS: - contain a badly formatted string like a missing a quote
PASS: Verify handling if a server provides an empty
PASS: - model string
PASS: - manufacturer string
PASS: Verify newly added debug logging (level 4 with -vvvv)
PASS: Verify HPE server setBootOverride Once Pxe works

Closes-Bug: 2091879
Change-Id: Idcee7be6edc62438fe29a9e8ce031ee94328e508
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
2024-12-17 16:49:35 +00:00
..
redfishtool/debian Add setBootOveride config support to redfishtool 2024-12-17 16:49:35 +00:00
Redfishtool/files Remove CentOS/OpenSUSE build support 2024-05-01 16:39:19 -04:00