Raisecom bugfix

This commit is contained in:
Andrey Pazychev
2020-05-21 04:41:26 +03:00
parent 91ce23ce4a
commit 36e8f9be61

View File

@@ -68,7 +68,7 @@ sub main {
#All another known ways to HW #All another known ways to HW
while (not defined($hw)) { while (not defined($hw)) {
$obj->hw_oid_8886_6_140 =~ /.*[v,V]ersion[:,\s]*(.*)/; $obj->hw_oid_8886_6_140 =~ /.*[v,V]ersion[:,\s]*(.*)/ if defined $obj->hw_oid_8886_6_140;
$hw = $1 if defined $1; $hw = $1 if defined $1;
last; last;
} }
@@ -90,36 +90,71 @@ sub main {
last; last;
} }
#All another known ways to Bootrom
$obj->brom_oid_8886_6_140 =~ /Bootstrap_([\d\W]+)\.ISCOM.*\.(\d*\.+\d*)/;
$brom = $1 . ' (' . $2 . ')' if defined($1) and defined($2);
$brom = $obj->brom_oid || undef if not defined($brom);
#Serial #Serial
$serial = $obj->serial_oid_8886_6_140 || undef; $serial = $obj->serial_oid_8886_6_140 || undef;
#### ####
#final formatting before output. #final formatting before output.
#### ####
$model .= ' HW:' . $hw if defined($model) and defined($hw); #$model .= ' HW:' . $hw if defined($model) and defined($hw);
$os_ver .= ' bootrom:' . $brom if defined($os_ver) and defined($brom); #$os_ver .= ' bootrom:' . $brom if defined($os_ver) and defined($brom);
return { 'model' => $model, 'os_ver' => $os_ver, 'serial' => $serial }; return { 'model' => $model, 'os_ver' => $os_ver, 'serial' => $serial };
} }
sub os_ver { sub os_ver {
my $obj = shift; my $obj = shift;
return main($obj)->{os_ver}; my $os_ver = $obj->main()->{os_ver};
my $brom = $obj->brom() || undef;
$os_ver .= ' Bootrom:' . $brom if defined $brom;
return $os_ver if defined $os_ver;
} }
sub model { sub model {
my $obj = shift; my $obj = shift;
return main($obj)->{model}; my $model = $obj->main()->{model} || undef;
my $hw = $obj->hw() || undef;
if (not defined $model or $model eq 'NOSUCHOBJECT') {
$model = $obj->session()->get('enterprises.8886.22.2.1.2.0') || undef;
}
$model .= ' HW:' . $hw if defined $hw;
return $model if defined $model;
return $obj->id();
} }
sub serial { sub serial {
my $obj = shift; my $obj = shift;
return main($obj)->{serial}; my $serial = $obj->main()->{serial} || undef;
while(not defined $serial) {
$serial = $obj->session()->get('mib-2.47.1.1.1.1.11.1') || undef;
last;
}
return $serial if defined $serial;
}
sub hwver {
my $obj = shift;
my $hw = $obj->session()->get('mib-2.47.1.1.1.1.8.1') || undef;
while (not defined($hw)) {
$obj->hw_oid_8886_6_140 =~ /.*[v,V]ersion[:,\s]*(.*)/ if defined $obj->hw_oid_8886_6_140;
$hw = $1 if defined $1;
last;
}
return $hw if defined $hw;
}
sub brom {
my $obj = shift;
my $brom = undef;
$obj->brom_oid_8886_6_140 =~ /Bootstrap_([\d\W]+)\.ISCOM.*\.(\d*\.+\d*)/ if defined $obj->brom_oid_8886_6_140;
$brom = $1 . ' (' . $2 . ')' if defined($1) and defined($2);
$brom = $obj->brom_oid || undef if not defined($brom);
} }
1; 1;