From 8521b46ab22bafdf8dbf7a759005ef9b12560baf Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Wed, 24 Jul 2013 18:39:47 +0000 Subject: [PATCH] Add information about IBM backup firmware to rinv git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@17017 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/ipmi.pm | 62 +++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 29f225c5e..db22c7a1f 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -1960,9 +1960,69 @@ sub got_fpga_buildid { $sessdata->{fpgabuildid} = $res{data}; get_imm_property(property=>"/v2/fpga/build_version",callback=>\&got_fpga_version,sessdata=>$sessdata); } else { - initfru_with_mprom($sessdata); + get_imm_property(property=>"/v2/ibmc/dm/fw/bios/backup_build_id",callback=>\&got_backup_bios_buildid,sessdata=>$sessdata); } } +sub got_backup_bios_buildid { + my %res = @_; + my $sessdata = $res{sessdata}; + if ($res{data}) { + $sessdata->{backupbiosbuild} = $res{data}; + get_imm_property(property=>"/v2/ibmc/dm/fw/bios/backup_build_version",callback=>\&got_backup_bios_version,sessdata=>$sessdata); + } else { + initfru_with_mprom($sessdata); + } +} + +sub got_backup_bios_version { + my %res = @_; + my $sessdata = $res{sessdata}; + if ($res{data}) { + $sessdata->{backupbiosversion} = $res{data}; + my $fru = FRU->new(); + $fru->rec_type("bios,uefi,firmware"); + $fru->desc("Backup UEFI Version"); + $fru->value($sessdata->{backupbiosversion}." (".$sessdata->{backupbiosbuild}.")"); + $sessdata->{fru_hash}->{backupuefi} = $fru; + get_imm_property(property=>"/v2/ibmc/dm/fw/imm2/backup_build_id",callback=>\&got_backup_imm_buildid,sessdata=>$sessdata); + } else { + initfru_with_mprom($sessdata); + } +} + +sub got_backup_imm_buildid { + my %res = @_; + my $sessdata = $res{sessdata}; + if ($res{data}) { + $sessdata->{backupimmbuild} = $res{data}; + get_imm_property(property=>"/v2/ibmc/dm/fw/imm2/backup_build_version",callback=>\&got_backup_imm_version,sessdata=>$sessdata); + } else { + initfru_with_mprom($sessdata); + } +} +sub got_backup_imm_version { + my %res = @_; + my $sessdata = $res{sessdata}; + if ($res{data}) { + $sessdata->{backupimmversion} = $res{data}; + get_imm_property(property=>"/v2/ibmc/dm/fw/imm2/backup_build_date",callback=>\&got_backup_imm_builddate,sessdata=>$sessdata); + } else { + initfru_with_mprom($sessdata); + } +} +sub got_backup_imm_builddate { + my %res = @_; + my $sessdata = $res{sessdata}; + if ($res{data}) { + $sessdata->{backupimmdate} = $res{data}; + my $fru = FRU->new(); + $fru->rec_type("bios,uefi,firmware"); + $fru->desc("Backup IMM Version"); + $fru->value($sessdata->{backupimmversion}." (".$sessdata->{backupimmbuild}." ".$sessdata->{backupimmdate}.")"); + $sessdata->{fru_hash}->{backupimm} = $fru; + } + initfru_with_mprom($sessdata); +} sub got_fpga_version { my %res = @_; my $sessdata = $res{sessdata};