copy all remaining messages from netdisco 1
This commit is contained in:
@@ -158,7 +158,7 @@ sub store_interfaces {
|
||||
|
||||
if (scalar grep {$port =~ m/$_/} @{setting('ignore_interfaces') || []}) {
|
||||
debug sprintf
|
||||
' [%s] interfaces - ignoring %s (%s) (requested in config)',
|
||||
' [%s] interfaces - ignoring %s (%s) (config:ignore_interfaces)',
|
||||
$device->ip, $entry, $port;
|
||||
next;
|
||||
}
|
||||
@@ -380,7 +380,7 @@ sub store_power {
|
||||
my $p_status = $snmp->peth_power_status;
|
||||
|
||||
if (!defined $p_watts) {
|
||||
# TODO log
|
||||
debug sprintf ' [%s] power - 0 power modules', $device->ip;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -448,7 +448,7 @@ sub store_modules {
|
||||
my $e_index = $snmp->e_index;
|
||||
|
||||
if (!defined $e_index) {
|
||||
# TODO log
|
||||
debug sprintf ' [%s] modules - 0 chassis components', $device->ip;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -510,7 +510,7 @@ sub find_neighbors {
|
||||
|
||||
my $c_ip = $snmp->c_ip;
|
||||
unless ($snmp->hasCDP or scalar keys %$c_ip) {
|
||||
# TODO log
|
||||
debug sprintf ' [%s] neigh - CDP/LLDP not enabled!', $device->ip;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -523,7 +523,8 @@ sub find_neighbors {
|
||||
foreach my $entry (keys %$c_ip) {
|
||||
my $port = $interfaces->{ $c_ip->{$entry} };
|
||||
if (!defined $port) {
|
||||
# TODO log
|
||||
debug sprintf ' [%s] neigh - port for IID:%s not resolved, skipping',
|
||||
$device->ip, $entry;
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -544,7 +545,9 @@ sub find_neighbors {
|
||||
if ($remote_id) {
|
||||
my $devices = schema('netdisco')->resultset('Device');
|
||||
my $neigh = $devices->single({name => $remote_id});
|
||||
# TODO log
|
||||
info sprintf
|
||||
' [%s] neigh - bad address %s on port %s, searching for %s instead',
|
||||
$device->ip, $remote_ip, $port, $remote_id;
|
||||
|
||||
if (!defined $neigh) {
|
||||
(my $shortid = $remote_id) =~ s/\..*//;
|
||||
@@ -553,26 +556,36 @@ sub find_neighbors {
|
||||
|
||||
if ($neigh) {
|
||||
$remote_ip = $neigh->ip;
|
||||
# TODO log
|
||||
info sprintf ' [%s] neigh - found %s with IP %s',
|
||||
$device->ip, $remote_id, $remote_ip;
|
||||
}
|
||||
else {
|
||||
# TODO log
|
||||
info sprintf ' [%s] neigh - could not find %s, skipping',
|
||||
$device->ip, $remote_id;
|
||||
next;
|
||||
}
|
||||
}
|
||||
else {
|
||||
# TODO log
|
||||
info sprintf ' [%s] neigh - skipping unuseable address %s on port %s',
|
||||
$device->ip, $remote_ip, $port;
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
# hack for devices seeing multiple neighbors on the port
|
||||
if (ref [] eq ref $remote_ip) {
|
||||
debug sprintf
|
||||
' [%s] neigh - port %s has multiple neighbors, setting remote as self',
|
||||
$device->ip, $port;
|
||||
|
||||
foreach my $n (@$remote_ip) {
|
||||
# TODO log
|
||||
debug sprintf
|
||||
' [%s] neigh - adding neighbor %s, type %s, on %s to discovery queue',
|
||||
$device->ip, $n, $remote_type, $port;
|
||||
_enqueue_discover($n, $remote_type);
|
||||
}
|
||||
# set loopback as remote IP to suppress any further work
|
||||
|
||||
# set self as remote IP to suppress any further work
|
||||
$remote_ip = $device->ip;
|
||||
$remote_port = $port;
|
||||
}
|
||||
@@ -584,7 +597,8 @@ sub find_neighbors {
|
||||
$remote_port =~ s/[^\d\/\.,()\w:-]+//gi;
|
||||
}
|
||||
else {
|
||||
# TODO log
|
||||
info sprintf ' [%s] neigh - no remote port found for port %s at %s',
|
||||
$device->ip, $port, $remote_ip;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -598,7 +612,8 @@ sub find_neighbors {
|
||||
->single({ip => $device->ip, port => $port});
|
||||
|
||||
if (!defined $portrow) {
|
||||
# TODO log
|
||||
info sprintf ' [%s] neigh - local port %s not in database!',
|
||||
$device->ip, $port;
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -609,6 +624,9 @@ sub find_neighbors {
|
||||
remote_id => $remote_id,
|
||||
});
|
||||
|
||||
debug sprintf
|
||||
' [%s] neigh - adding neighbor %s, type %s, on %s to discovery queue',
|
||||
$device->ip, $remote_ip, $remote_type, $port;
|
||||
_enqueue_discover($remote_ip, $remote_type);
|
||||
}
|
||||
}
|
||||
@@ -621,14 +639,11 @@ sub _enqueue_discover {
|
||||
my $device = get_device($ip);
|
||||
return if $device->in_storage;
|
||||
|
||||
# XXX should this be checked by process _taking_ the job?
|
||||
# ok.. the job will sit queued, but nothing will ever action it.
|
||||
# but that could still tie up workers :-(
|
||||
#
|
||||
my $remote_type_match = setting('discover_no_type');
|
||||
if ($remote_type and $remote_type_match
|
||||
and $remote_type =~ m/$remote_type_match/) {
|
||||
# TODO log
|
||||
debug sprintf ' queue - %s, type %s excluded by discover_no_type',
|
||||
$ip, $remote_type;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -639,7 +654,6 @@ sub _enqueue_discover {
|
||||
action => 'discover',
|
||||
status => 'queued',
|
||||
});
|
||||
# TODO log
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user