Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix SetOneTimeBoot to use standard ComputerSystem 'Boot' property #54201
Updated the logic for the SetOneTimeBoot command to use the standard 'Boot' property in the ComputerSystem resource. The original code was using Bios attributes which is not conformant with the Redfish spec.
I also updated the logic to not PATCH the system if the Boot properties are already set to the needed values. In this case, the Ansible 'changed' property is returned as False.
If the PATCH is applied, the 'changed' property is returned as True.
Playbooks from the original problem description in issue #51814:
Error result from the original problem description in issue #51814:
After the fix, the
@billdodd This feedback could be an enhancement (not necessarily needed for this particular change):
Per schema definition, if BootSourceOverrideTarget is set to "UefiTarget", then you must also set UefiTargetBootSourceOverride to the UEFI device path of that target.
There are also additional extensions added recently to the schema version 1.5.0 (2017.3):
BootNext is a new property. If BootSourceOverrideTarget is set to UefiBootNext, then BootNext needs to be set to the proper Boot source such as "Boot0001" or "Boot0002".
@samerhaj - Thanks for the feedback.
For these two cases, it seems like we will need to add a new input parameter (or possibly two parameters) for the user to specify the UEFI device path or the Boot source as appropriate.
Question: Is it expected (or likely) that implementations will specify allowable values for these properties (via
I think I'd prefer to go ahead and get this PR merged as-is and then add support for these 2 additional scenarios in a follow-up PR.
@mraineri - Do you have any comments/inputs about these UefiTarget and UefiBootNext cases? (general comments or preference regarding adding then in this PR or a follow-up PR)