From 4824e836cebbb424f121a2d6fecd27cdfe77d0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Sun, 30 Aug 2026 22:22:39 -0300 Subject: [PATCH] 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 b79c00506134 by Jarrod Johnson. Co-authored-by: Jarrod Johnson --- xCAT-server/lib/xcat/plugins/ipmi.pm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 5b48d0fd0..11c86818f 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -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);