2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-04 12:07:56 +00:00

fix(rinv): report pending UEFI build separately

The IMM pending_build_id property is not guaranteed to identify the primary UEFI bank. Keep it out of the active version value and expose it as a separate firmware inventory record.

Recovered from original commit b79c005061 by Jarrod Johnson.

Co-authored-by: Jarrod Johnson <jarrod.b.johnson@gmail.com>
This commit is contained in:
Vinícius Ferrão
2026-08-30 22:22:39 -03:00
parent a5ad2f7b26
commit 4824e836ce
+8 -5
View File
@@ -3439,13 +3439,16 @@ sub got_bios_date {
my $fru = FRU->new();
$fru->rec_type("bios,uefi,firmware");
$fru->desc("UEFI Version");
my $pending = "";
if ($sessdata->{biosbuildpending}) {
$pending = " [PENDING: $sessdata->{biosbuildpending}]";
}
my $value = $sessdata->{biosbuildversion} . " (" . $sessdata->{biosbuildid} . " " . $sessdata->{biosbuilddate} . ")$pending";
my $value = $sessdata->{biosbuildversion} . " (" . $sessdata->{biosbuildid} . " " . $sessdata->{biosbuilddate} . ")";
$fru->value($value);
$sessdata->{fru_hash}->{uefi} = $fru;
if ($sessdata->{biosbuildpending}) {
$fru = FRU->new();
$fru->rec_type("bios,uefi,firmware");
$fru->desc("Pending UEFI Build ID");
$fru->value($sessdata->{biosbuildpending});
$sessdata->{fru_hash}->{uefi_pending} = $fru;
}
get_imm_property(property => "/v2/fpga/build_id", callback => \&got_fpga_buildid, sessdata => $sessdata);
} else {
initfru_with_mprom($sessdata);