Closed capnbb closed 5 months ago
You should be able to add the --workaround
option to allow the tool to apply the override in non-conformant locations.
It would be good to provide this feedback to your vendor. Requiring users to step into the settings resource to apply an active override request is not a good practice. The reason being is the context of "boot override" is already loaded with the semantic that this occurs on the next reboot.
There's some history in this issue too: https://github.com/DMTF/Redfish-Tacklebox/issues/111
Hi Mike,
Many thanks for your help, but unfortunately --workaround didn't work :(
jog@pcterm01:~/scripts/ rf_boot_override.py --user ADMIN --password XXXXXXXX --rhost fmg39-idrac -t Pxe --workaround /usr/local/lib/python3.6/site-packages/redfish/rest/v1.py:1163: UserWarning: Scheme not specified for 'fmg39-idrac'; adding 'https://' warnings.warn("Scheme not specified for '{}'; adding 'https://'".format(base_url)) Setting a one time boot for Pxe... Operation failed: HTTP 400
Support of this Operation for Boot Properties is moved to FutureState URI(/redfish/v1/Systems/Self/SD) Ami.1.0.OperationSupportedInFutureStateURI
Debug output attached here: rf_boot_override-2024-04-10-100954.log
does --workaround need a tweak for this board?
I have asked our vendor to provide a contact at ASRock so we can properly report this, we have 20 systems using the ASRock WRX80 Creator R2.0 motherboard motherboard, so it's worth our putting some time into this.
thanks again,
Jake
It's possible we need an update to the workaround logic. I'll take a look at the log file to see what can be done.
It seems like there's an additional requirement to specify the override mode (UEFI vs Legacy). A user shouldn't have to specify this; the service is expected to handle a default case (typically they default to UEFI if not specified).
"The property BootSourceOverrideMode is a required property and must be included in the request."
Can you try this?
/scripts/ rf_boot_override.py --user ADMIN --password XXXXXXXX --rhost fmg39-idrac -t Pxe --mode UEFI --workaround
Hi Mike, again, many thanks for your help - the extra flag isn't quite enough. Any further ideas?
~/scripts/ rf_boot_override.py --user ADMIN --password XXXXX --rhost fmg39-idrac -t Pxe --mode UEFI --workaround /usr/local/lib/python3.6/site-packages/redfish/rest/v1.py:1163: UserWarning: Scheme not specified for 'fmg39-idrac'; adding 'https://' warnings.warn("Scheme not specified for '{}'; adding 'https://'".format(base_url)) Setting a one time boot for Pxe... /usr/local/lib/python3.6/site-packages/redfish_utilities/systems.py:231: UserWarning: System 'None' incorrectly required applying the boot override configuration to the settings resource. Contact your vendor. warnings.warn( "System '{}' incorrectly required applying the boot override configuration to the settings resource. Contact your vendor.".format( system_id ) )
Here is the log file from running the above command in debug mode: rf_boot_override-2024-04-11-150350.log
thanks again,
Jake
That output is all expected; it looks like the setting took effect. The tool produces warnings if it had to fallback on workaround logic to highlight to the user that they should contact their vendor about the issue, but otherwise the desired outcome was achieved.
The one last thing to check is if rebooting the system causes it to perform a PXE boot; if it does, then you should be unblocked for your systems at this point.
Hi Mike,
Good news :) your suggestion worked - I had just interpreted the warnings as a fatal error.
To confirm, the ASRock AMI Redfish implementation on a WRX 90 evo (bios v4.02) will reboot using PXE,on both the onboard interfaces or an add-on Mellanox 100GB card after running:
rf_boot_override.py --user ADMIN --password XXXXXXX --rhost HOSTNAME -t Pxe --mode UEFI --workaround --debug
again, many thanks for your help,
Jake
Closing; workaround flag gets past this issue, and the follow-up with the vendor is needed to fix the behavior of the service
Dear Authors,
When attempting to change next boot device using rf_boot_override.py on a new ASRock motherboard we get this error:
rf_boot_override.py --user admin --password XXXXXXX --rhost fmg39-idrac --target Pxe /usr/local/lib/python3.6/site-packages/redfish/rest/v1.py:1163: UserWarning: Scheme not specified for 'fmg39-idrac'; adding 'https://' warnings.warn("Scheme not specified for '{}'; adding 'https://'".format(base_url)) Setting a one time boot for Pxe... Operation failed: HTTP 400
Support of this Operation for Boot Properties is moved to FutureState URI(/redfish/v1/Systems/Self/SD) Ami.1.0.OperationSupportedInFutureStateURI
Debug output: rf_boot_override-2024-04-05-130912.log
Contents of /redfish/v1/Systems/Self/SD curl -k -u admin:XXXXXXX https://fmg39-idrac:/redfish/v1/Systems/Self/SD -H "content-type:application/json" -X GET > SD.json SD.json
Other details: ASRock WRX80 Creator R2.0 motherboard BMC Firmware Version 1.04.00 BIOS Firmware Version 4.02
Many thanks
Jake