|
Post by jegathees on Aug 25, 2023 7:27:29 GMT
Hi all, To upgrade the firmware, I am using Redfish and the following curl command over TFTP.
curl -k -X POST -u root:0penBmc -d '{"ImageURI":"http://172.21.246.237/home/OBMC/build/evb-ast2600/tmp/deploy/images/evb-ast2600/image-bmc"}' https://127.0.0.1:18080/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
it shows on error
{ "error": { "@message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The parameter TransferProtocol for the action UpdateService.SimpleUpdate is not supported on the target resource.", "MessageArgs": [ "TransferProtocol", "UpdateService.SimpleUpdate" ], "MessageId": "Base.1.13.0.ActionParameterNotSupported", "MessageSeverity": "Warning", "Resolution": "Remove the parameter supplied and resubmit the request if the operation failed." } ], "code": "Base.1.13.0.ActionParameterNotSupported", "message": "The parameter TransferProtocol for the action UpdateService.SimpleUpdate is not supported on the target resource." } }
Kindly help here , if i am doing wrong.
|
|
|
Post by mraineri on Aug 25, 2023 12:05:13 GMT
In the example curl command you provided, I don't see TransferProtocol in the payload at all, so if the service's response says to remove that parameter, that's clearly a bug in the service.
However, in terms of how you're using curl to perform the update, you're using it correctly. ImageURI is all you need in the request; the scheme (in this case you're showing http://) will dictate the transfer protocol, so TransferProtocol isn't needed unless you omit the scheme.
You should reach out to the OpenBMC community for support.
|
|
|
Post by jegathees on Sept 12, 2023 6:20:15 GMT
Hi Mraineri, To upgrade the firmware, I am using Redfish and the following curl command over TFTP
curl -k -X POST -u root:0penBmc -d '{"ImageURI":"tftp://172.21.246.237/image-bmc"}' https://127.0.0.1:18080/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
{ "@message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.13.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ], "error": { "@message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request failed due to an internal service error. The service is still operational.", "MessageArgs": [], "MessageId": "Base.1.13.0.InternalError", "MessageSeverity": "Critical", "Resolution": "Resubmit the request. If the problem persists, consider resetting the service." } ], "code": "Base.1.13.0.InternalError", "message": "The request failed due to an internal service error. The service is still operational." }
Kindly help here , if i am doing wrong.
|
|
|
Post by mraineri on Sept 12, 2023 12:55:25 GMT
You're not doing anything wrong; that payload is exactly what I'd expect, and that format matches the examples we give in the Redfish Firmware Update White Paper. The fact that the service is returning both "Success" in the @message.ExtendedInfo found at the root of the object and shows a failure inside of the "error" block isn't correct at all. Unfortunately you'll need to reach out to someone who works in the OpenBMC community to look at this further.
|
|