Hi ,
Phosphor-software-manager currently supports bios upgrade for a single host.I would like to propose a design to add multi host bios upgrade support in Phosphor-software-manager.
Kindly review the below proposal and share your valuable comments.
Design:
a) : Add Host Number
1) MANIFEST file change:
Add host number in MANIFEST file, purpose field like below.
Ex:
For Host1, purpose=xyz.openbmc_project.Software.Version.VersionPurpose.Host1
For Host2, purpose=xyz.openbmc_project.Software.Version.VersionPurpose.Host2 and So on.
2) For bios upgrade, handle the same to incorporate the host number and send host number to the systemd service obmc-flash-host-bios@service like below.
if (host.empty())
{
auto biosServiceFile = "obmc-flash-host-bios@" + versionId + ".service";
}
else
{
auto biosServiceFile =
"obmc-flash-host-bios@" + versionId + "_" + host + ".service";
}
b) : Implement a generic IPMI based multi-host bios upgrade.
1) This generic implementation expects a json config file with the details like IPMI net function , command id, and etc and process the bios upgrade via ipmi commands.