diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 3fb44b7cd..417ae8ad1 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -1957,11 +1957,20 @@ sub got_bios_buildid { my $sessdata = $res{sessdata}; if ($res{data}) { $sessdata->{biosbuildid} = $res{data}; - get_imm_property(property=>"/v2/bios/build_version",callback=>\&got_bios_version,sessdata=>$sessdata); + get_imm_property(property=>"/v2/bios/pending_build_version",callback=>\&got_bios_pending_buildid,sessdata=>$sessdata); } else { initfru_with_mprom($sessdata); } } +sub got_bios_pending_buildid { + my %res = @_; + my $sessdata = $res{sessdata}; + $sessdata->{biosbuildpending} = 0; + if ($res{data}) { + $sessdata->{biosbuildpending} = 1; + } + get_imm_property(property=>"/v2/bios/build_version",callback=>\&got_bios_version,sessdata=>$sessdata); +} sub got_bios_version { my %res = @_; my $sessdata = $res{sessdata}; @@ -1980,7 +1989,12 @@ sub got_bios_date { my $fru = FRU->new(); $fru->rec_type("bios,uefi,firmware"); $fru->desc("UEFI Version"); - $fru->value($sessdata->{biosbuildversion}." (".$sessdata->{biosbuildid}." ".$sessdata->{biosbuilddate}.")"); + my $pending = ""; + if ($sessdata->{biosbuildpending}) { + $pending = " [PENDING]"; + } + my $value = $sessdata->{biosbuildversion}." (".$sessdata->{biosbuildid}." ".$sessdata->{biosbuilddate}.")$pending"; + $fru->value($value); $sessdata->{fru_hash}->{uefi} = $fru; get_imm_property(property=>"/v2/fpga/build_id",callback=>\&got_fpga_buildid,sessdata=>$sessdata); } else {