diff --git a/Netdisco/Changes b/Netdisco/Changes index 6bbef9e9..b70a800a 100644 --- a/Netdisco/Changes +++ b/Netdisco/Changes @@ -1,3 +1,9 @@ +2.031013 - 2015-03-02 + + [BUG FIXES] + + * Only exclude discover_no on Undiscovered Neighbors report when few results + 2.031012 - 2015-02-28 [ENHANCEMENTS] diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm b/Netdisco/lib/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm index 7c9d47a0..7fb81804 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm @@ -17,17 +17,19 @@ register_admin_task( ); get '/ajax/content/admin/undiscoveredneighbors' => require_role admin => sub { - my @devices + my @results = schema('netdisco')->resultset('Virtual::UndiscoveredNeighbors') ->order_by('ip')->hri->all; - - return unless scalar @devices; + return unless scalar @results; # Don't include devices excluded from discovery by config - my @results - = grep { is_discoverable( $_->{'remote_ip'}, $_->{'remote_type'} ) } - @devices; - + # but only if the number of devices is small, as it triggers a + # SELECT per device to check. + if (scalar @results < 50) { + @results + = grep { is_discoverable( $_->{'remote_ip'}, $_->{'remote_type'} ) } + @results; + } return unless scalar @results; if ( request->is_ajax ) {