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
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;
last;
}
@@ -90,36 +90,71 @@ sub main {
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 = $obj->serial_oid_8886_6_140 || undef;
####
#final formatting before output.
####
$model .= ' HW:' . $hw if defined($model) and defined($hw);
$os_ver .= ' bootrom:' . $brom if defined($os_ver) and defined($brom);
#$model .= ' HW:' . $hw if defined($model) and defined($hw);
#$os_ver .= ' bootrom:' . $brom if defined($os_ver) and defined($brom);
return { 'model' => $model, 'os_ver' => $os_ver, 'serial' => $serial };
}
sub os_ver {
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 {
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 {
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;