Packaging and deploying multiple firmware image types in one

Andrew Geissler geissonator at gmail.com
Sat Nov 16 02:46:45 AEDT 2019


On Fri, Nov 15, 2019 at 8:50 AM Adriana Kobylak <anoo at linux.ibm.com> wrote:

>
> For the bmcweb change to support the System purpose
> (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/27144), Andrew
> had the comment about if we could have the software manager determine
> the .BMC, .Host, .PSU details out of a System image and populate the
> individual version interfaces, which further confirms that the current
> Version D-Bus interface is insufficient to detail the individual
> components of a "System" firmware image, and that workarounds like
> adding individual Manifest files that Alexander proposed are needed.
>
> Therefore, wanted to see what people thought about expanding the
> software D-Bus interface to add a 2nd version id to the path of a System
> version, which would contain the version information for each
> sub-element, but would not contain an Activation object:
>
> --
> Current, leave as is for individual firmware images:
>
> /xyz/openbmc_project/software/<bmc-version-id>/
>    - Activation: Ready
>    - Purpose: .BMC
>    - Version: 2.8.0
>
> /xyz/openbmc_project/software/<host-version-id>/
>    - Activation: Ready
>    - Purpose: .Host
>    - Version: 1.2.3
>
> --
> New expanded option for bundled images:
>
> /xyz/openbmc_project/software/<system-version-id>/
>    - Activation: Ready
>    - Purpose: .System
>    - Version: CompanyZ-v1.0
>    /xyz/openbmc_project/software/<sysrem-version-id>/<bmc-version-id>/
>      - Purpose: .BMC
>      - Version: 2.8.0
>    /xyz/openbmc_project/software/<sysrem-version-id>/<host-version-id>/
>      - Purpose: .Host
>      - Version: 1.2.3

Makes sense to me. The phosphor-webui code could look for a system object
and if found, only allow the user to update/switch images based on system
level. They could still easily show the BMC, host, PSU levels though.
Or maybe this will just be a config option for the GUI? Either way I
think the GUI would want to show both the system and individual levels
of firmware.

Redfish code in bmcweb can continue to work as-is for bmc, host, psu
firmware inventory. I think we should see if we can get the DMTF to
add a FirmwareVersion property to the ComputerSystem object where
we could store this new system version.


More information about the openbmc mailing list