Capture base MAC in L3::Huawei
Capture fan and power supply status in L3::Huawei when description is not available
This commit is contained in:
@@ -152,6 +152,12 @@ sub os_ver {
|
||||
return $os_ver;
|
||||
}
|
||||
|
||||
sub mac {
|
||||
my $huawei = shift;
|
||||
|
||||
return $huawei->b_mac();
|
||||
}
|
||||
|
||||
sub i_ignore {
|
||||
my $huawei = shift;
|
||||
my $partial = shift;
|
||||
@@ -379,15 +385,19 @@ sub fan {
|
||||
my $fan = $huawei->hw_fan_descr() || {};
|
||||
my $state = $huawei->hw_fan_state() || {};
|
||||
|
||||
if ( scalar keys %$fan ) {
|
||||
if ( scalar keys %$state ) {
|
||||
my @messages = ();
|
||||
|
||||
foreach my $k ( keys %$fan ) {
|
||||
foreach my $k ( keys %$state ) {
|
||||
next if $state->{$k} and $state->{$k} eq 'normal';
|
||||
push @messages, "$fan->{$k}: $state->{$k}";
|
||||
my ($slot, $num) = split(/\./, $k);
|
||||
my $descr = "Slot $slot,Fan $num";
|
||||
$descr = $fan->{$k} if ($fan->{$k});
|
||||
|
||||
push @messages, "$descr: $state->{$k}";
|
||||
}
|
||||
|
||||
push @messages, ( ( scalar keys %$fan ) . " fans OK" )
|
||||
push @messages, ( ( scalar keys %$state ) . " fans OK" )
|
||||
if scalar @messages == 0;
|
||||
|
||||
return ( join ", ", @messages );
|
||||
@@ -406,7 +416,10 @@ sub ps1_status {
|
||||
foreach my $i ( sort keys %$pwr_state ) {
|
||||
my ( $slot, $num ) = split( /\./, $i );
|
||||
next unless $num == 1;
|
||||
$ret .= $s . $pwr_descr->{$i} . ": " . $pwr_state->{$i};
|
||||
my $descr = "Slot $slot,PS $num";
|
||||
$descr = $pwr_descr->{$i} if ($pwr_descr->{$i});
|
||||
|
||||
$ret .= $s . $descr . ": " . $pwr_state->{$i};
|
||||
$s = ", ";
|
||||
}
|
||||
return if ( $s eq "" );
|
||||
@@ -424,7 +437,10 @@ sub ps2_status {
|
||||
foreach my $i ( sort keys %$pwr_state ) {
|
||||
my ( $slot, $num ) = split( /\./, $i );
|
||||
next unless $num == 2;
|
||||
$ret .= $s . $pwr_descr->{$i} . ": " . $pwr_state->{$i};
|
||||
my $descr = "Slot $slot,PS $num";
|
||||
$descr = $pwr_descr->{$i} if ($pwr_descr->{$i});
|
||||
|
||||
$ret .= $s . $descr . ": " . $pwr_state->{$i};
|
||||
$s = ", ";
|
||||
}
|
||||
return if ( $s eq "" );
|
||||
|
||||
Reference in New Issue
Block a user