[Design] PSU firmware update

Lei YU mine260309 at gmail.com
Mon Jun 10 13:16:01 AEST 2019


> > 3 more quick notes:
> >
> > 1) PSs can be hot pluggable, so when a new one is detected, the code
> > update should run then too if the new PS needs one, assuming all other
> > conditions are met.
> >
> > 2) A single system may support multiple models of PS (will definitely
> > happen for us), so this design should be able to store multiple PS
> > images and send the correct image to the correct model.
> >
> > 3) You mentioned the combined image stuff before.  We should just check
> > the timeline for that support aligns with this one.
> >
> >
> Good point Matt on the PS install.  It would probably be a good idea to
> get the newly installed PS to the same image as the rest of the PS's in
> the system.

Yup, really good point.
This implies that BMC shall keep a local copy of the PSU image for future
updates.

> We do support PS's that don't provide control supply (standby voltage)
> when reset at the end of the update, while other PS's do.  Therefore for
> the former case, if only 1 PS has AC attached, we cannot update/reset
> that PS, so please let that be selectable by the user (eg vendor
> specific tool).

This is somehow complex, but if we could defer this to vendor specific tool,
that's OK.
However, if a system has multiple models of PS, I am not sure how the vendor
specific tool will be.
Should we defer that to vendor specfic tool, too?

>
> Also, please provide a way to know that the updates have finished.  As
> we don't want to update the PS's when the power is on (this is vendor
> specific as well), we also do not want to power the system on in the
> middle of an update.  For example, if after a BMC update the PS's are
> being updated, we want to hold off the next system power on until the PS
> updates have finished. Thanks.

This is already supported by the existing interface.


> >
> >
> >>
> >>> The reason I ask is because if we could get clear requirements, it
> >>> is possible
> >>> to simplify the design.
> >
> Would it be possible to support both methods?  The general use case
> being done during/after BMC code update, but also support the more
> manual method that could be used perhaps in the lab to test new psu
> images or in the field if there are problems with an existing image? Thanks.

This design doc will be updated to support both cases.


More information about the openbmc mailing list