From 08a5652ae079fb7998151d3d7dcfbe185814cbec Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Tue, 10 Apr 2018 20:58:07 +0100 Subject: [PATCH] Revert "save a device_port lookup" This reverts commit d19b2fac934d1f28da30e91fe627f2e860cb8faa. --- lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm b/lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm index 613e402a..86de75e3 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm @@ -238,6 +238,7 @@ sub store_neighbors { # OK, remote IP seems sane $remote_ip = $r_netaddr->addr; + my $peer_device = get_device($remote_ip); # what we came here to do.... discover the neighbor debug sprintf ' [%s] neigh - %s with ID [%s] on %s', @@ -245,9 +246,6 @@ sub store_neighbors { push @to_discover, [$remote_ip, $remote_type, $remote_id]; $remote_port = $c_port->{$entry}; - my $peer_device = get_device($remote_ip); - my $peer_port = undef; - if (defined $remote_port) { # clean weird characters $remote_port =~ s/[^\d\s\/\.,()\w:-]+//gi; @@ -255,7 +253,7 @@ sub store_neighbors { # attempt to resolve port name when it is given wrong # https://github.com/netdisco/netdisco/issues/380 if ($peer_device and $peer_device->in_storage) { - $peer_port = schema('netdisco')->resultset('DevicePort')->search({ + my $peer_port = schema('netdisco')->resultset('DevicePort')->search({ ip => $peer_device->ip, port => [ {'=', $remote_port}, @@ -293,6 +291,11 @@ sub store_neighbors { port => $portrow->slave_of }); + my $peer_port = schema('netdisco')->resultset('DevicePort')->single({ + ip => $peer_device->ip, + port => $portrow->remote_port, + }); + if ($master and not ($portrow->is_master or defined $master->slave_of)) { $master->update({ remote_ip => ($peer_device->ip || $remote_ip),