From bd88e86214ce9d9ec243c644efaffc3b35b28f6c Mon Sep 17 00:00:00 2001 From: ertaozh Date: Wed, 26 Jul 2017 03:46:05 -0400 Subject: [PATCH] fix issue 3460: Changes required for 'rflash -c' to support more detailed firmware information for LC Big Data boxes --- xCAT-server/lib/xcat/plugins/ipmi.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 3627df69b..9c96245b8 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -1622,6 +1622,13 @@ sub isopenpower { sub check_firmware_version { + sub _on_receive_ugp { + my $rsp = shift; + my $sessdta = shift; + shift @{ $rsp->{data} }; + return; + } + sub _on_receive_version { my $rsp = shift; my $sessdata = shift; @@ -1650,6 +1657,15 @@ sub check_firmware_version { my $sessdata = shift; my $firmware_version = shift; my $component_string = shift; + + # GET TARGET UPGRADE CAPABILITIES + $sessdata->{ipmisession}->subcmd(netfn => 0x2c, command => 0x2e, + data => [ 0 ], + callback => \&_on_receive_ugp, + callback_args => $sessdata); + while (xCAT::IPMI->waitforrsp()) { yield } + + foreach my $c_id (@{ $sessdata->{component_ids} }) { $sessdata->{c_id} = $c_id;