openbmc / bmcweb

A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC
Apache License 2.0
156 stars 131 forks source link

openbmc supports tftp only ? #142

Closed Abdelfel closed 3 years ago

Abdelfel commented 4 years ago

Hi,

I am trying to perform a redfish update firmware action via UpdateService/Actions/UpdateService.SimpleUpdate. I noticed in the code in update_service.hpp that openbmc still only supports TFTP as a transfer protocol for the file.

// OpenBMC currently only supports TFTP if (*transferProtocol != "TFTP") { messages::actionParameterNotSupported(asyncResp->res, "TransferProtocol", "UpdateService.SimpleUpdate"); BMCWEB_LOG_ERROR << "Request incorrect protocol parameter: " << *transferProtocol; return; } If we suppose that my bmc has no running tftp server, does this mean I won't be able to perform this actions ? Is there a specific way to check whether my bmc has a tftp server running. Will there be bmcweb updates with other transfer protocols ?

Thank you.

geissonator commented 4 years ago

https://github.com/openbmc/docs/blob/master/designs/firmware-update-over-redfish.md#remote-image-download-based-update has some details on TFTP. I don't know of any plans to support anything more there. In general, it's best o just push your image directly if possible. Do you require a FTP based update or can you just use the UpdateService directly?

i.e.

curl -k -H "X-Auth-Token: $TOKEN" -H "Content-Type: application/octet-stream" -X POST -T ./obmc-phosphor-image-witherspoon.ubi.mtd.tar https://${BMC_IP}/redfish/v1/UpdateService

There's no ftp server running on the BMC itself, you need one running on a separate computer you can point the BMC to i.e. FTP_SERVER below

curl -k -H "X-Auth-Token: $TOKEN" -X POST https://${BMC_IP}/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate -d '{"ImageURI":"tftp://${FTP_SERVER}/obmc-phosphor-image-witherspoon.ubi.mtd.tar"}'
gtmills commented 4 years ago

@Abdelfel Does that answer your question? Can we close ?

frsauvage commented 4 years ago

Thank a lot @geissonator,

Link does not work for me, please, can you double-check ?

https://github.com/openbmc/docs/blob/master/designs/firmware-update-over-redfish.md#remote-image-download-based-update

Yes, @gtmills, it answers the question (I asked to @Abdelfel) , you can close it,

Regards, Francine

gtmills commented 4 years ago

The document moved recently. :) https://github.com/openbmc/docs/blob/master/architecture/code-update/firmware-update-over-redfish.md

edtanous commented 3 years ago

Closing, as it appears you got your question answered. Please reopen if this is still an issue.