Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rf_boot_override.py FutureState URI(/redfish/v1/Systems/Self/SD) #144

Open
capnbb opened this issue Apr 5, 2024 · 8 comments
Open

rf_boot_override.py FutureState URI(/redfish/v1/Systems/Self/SD) #144

capnbb opened this issue Apr 5, 2024 · 8 comments

Comments

@capnbb
Copy link

capnbb commented Apr 5, 2024

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

@mraineri
Copy link
Contributor

mraineri commented Apr 5, 2024

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: #111

@capnbb
Copy link
Author

capnbb commented Apr 10, 2024

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

@mraineri
Copy link
Contributor

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.

@mraineri
Copy link
Contributor

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

@capnbb
Copy link
Author

capnbb commented Apr 11, 2024

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

@mraineri
Copy link
Contributor

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.

@mraineri
Copy link
Contributor

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.

@capnbb
Copy link
Author

capnbb commented Apr 12, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants