From 1502ec196657229908f3af3cd573ca85858c7796 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Mon, 13 Nov 2017 22:08:02 +0000 Subject: [PATCH] bug fixes after testing on a real network --- lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm | 3 ++- lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm | 3 ++- lib/App/Netdisco/Worker/Plugin/Discover/WithNodes.pm | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm b/lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm index ecd0c7c4..f6b86d71 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm @@ -46,7 +46,8 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { if (check_acl_only($device, $key) and check_acl_only($alias, $map->{$key})) { - if ($snmp->snmp_connect_ip( $alias->alias )) { + # if ($snmp->snmp_connect_ip( $alias->alias )) { FIXME + if (App::Netdisco::Transport::SNMP->reader_for( $alias->alias )) { $new_ip = $alias->alias; last ALIAS; } diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm b/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm index 60d49cb1..7c81ef75 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm @@ -60,8 +60,9 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { my $e_fru = $snmp->e_fru; # build device modules list for DBIC - my @modules; + my (@modules, %seen_idx); foreach my $entry (keys %$e_index) { + next if $seen_idx{$entry}++; push @modules, { index => $e_index->{$entry}, type => $e_type->{$entry}, diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/WithNodes.pm b/lib/App/Netdisco/Worker/Plugin/Discover/WithNodes.pm index 3f2d2598..0aec8326 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/WithNodes.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/WithNodes.pm @@ -4,6 +4,7 @@ use Dancer ':syntax'; use App::Netdisco::Worker::Plugin; use aliased 'App::Netdisco::Worker::Status'; +use App::Netdisco::JobQueue 'jq_insert'; use Dancer::Plugin::DBIC 'schema'; register_worker({ phase => 'main' }, sub {