Send netdisco-users mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/netdisco-users
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of netdisco-users digest..."
Today's Topics:
1. question for rancid export users (Nick Nauwelaerts)
2. Re: how does ignore_interfaces work (Nick Nauwelaerts)
--- Begin Message ---
heya,
a question for all the users of makerancidconf:
how many of you are still using rancid versions older as rancid 3.0 (which was
released april 2014)?
currently our default config.db delimiter is ':', while rancid 3.0 switched
this to ';' - mostly for ipv6 support.
as such, i'd like to change the default delimiter to ';' for an easier out of
the box experience. note that this is a default which you can override in the
config file.
appreciate the input.
thx
// nick
________________________________
Volg Aquafin op Facebook<https://www.facebook.com/AquafinNV> |
Twitter<https://twitter.com/aquafinnv> |
YouTube<http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee> |
LinkedIN<http://www.linkedin.com/company/aquafin/products>
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin
persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de
betrokkenen zijn, kan je nalezen in onze privacy
policy<https://www.aquafin.be/nl-be/privacy-policy>.
P Denk aan het milieu. Druk deze mail niet onnodig af.
--- End Message ---
--- Begin Message ---
(resending since mail was to large it seems)
long story short (spent 4 hours or so investigating & rewriting this mail).
only worker::plugin::discover::properties honors the ignore_interfaces setting,
none of the other discover plugins which use device_port_* tables honor
ignore_interfaces. same goes for ignore_notpresent_types which was recently
added, which makes things even more complicated. the base of the issues lies in
the part that all discover plugins use $snmp->interfaces to get their
interfaces list, which does not take into account any ignore settings.
snmp::info has some support for this back in 3.21/22
(https://github.com/netdisco/snmp-info/commit/0793ff31f520e5e1ac53439c0dd38376ff5e3faf)
but no longer does (which is the correct way, since ignore_* are netdisco
settings so imo snmp::info should not take that into account to much).
we can either duplicate the ignore code for interfaces & notpresent in all
discover plugins, which is easy but lazy, or find some other option - perhaps a
device_port_ignore table, having $snmp->interfaces return a filtered list
(if_ignore() is part of base snmp::info, which could be a target) or another
function to get all ignored interfaces per device (using device_port as base
perhaps, but i feel that's not quite in line with the spirit of discover, where
you can also run subclasses).
for example to fix plugin/discover/portproperties.pm i added the following, but
then it still doesn't take into account ignore_notpresent_types:
--- a/PortProperties.pm 2018-12-19 18:20:12.150492891 +0100
+++ b/PortProperties.pm 2019-01-02 05:50:53.889394182 +0100
@@ -77,6 +77,14 @@
return Status->info(" [$device] no port properties to record")
unless scalar keys %properties;
+ foreach my $idx (keys %$interfaces) {
+ if (scalar grep {$interfaces->{$idx} =~ m/^$_$/}
@{setting('ignore_interfaces') || []}) {
+ debug sprintf ' [%s] portproperties - ignoring %s
(config:ignore_interfaces)',
+ $device->ip, $interfaces->{$idx};
+ delete $properties{$interfaces->{$idx}};
+ }
+ }
+
schema('netdisco')->txn_do(sub {
my $gone = $device->properties_ports->delete;
debug sprintf ' [%s] props - removed %d ports with properties',
bonus issue is that discover::properties deletes all interface references from
device_port & all device_port_* tables, which is correct. however, when using
the -D option for netdisco-do it only reports that it deletes the interfaces
(from device_port) but fails to mention it also deleted everything from the
other device_port_* tables. this is confusing since later steps like
device_port_power etc report 0 interfaces deleted while they add x amount of
interfaces (since they were deleted in discover::properties).
i'll open an issue for this on github.
// nick
From: Oliver Gorwits [mailto:[email protected]]
Sent: Friday, December 28, 2018 15:31
To: [email protected]
Cc: Pavel Skovajsa <[email protected]>; Nick Nauwelaerts
<[email protected]>
Subject: Re: [Netdisco] how does ignore_interfaces work
If device_port_properties has rows that are not going away, then it's a bug, I
think. The table should be wiped out and reinitialised on each rediscover.
https://github.com/netdisco/netdisco/blob/master/lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm#L81
There has not been a feature, yet, to record why interfaces are ignored. Other
than debugging (one-off and not something for permanent db storage), is there a
use case for not ignoring the ignored interfaces?
Thanks,
regards
oliver.
On Wed, 19 Dec 2018 at 17:07, Nick Nauwelaerts
<[email protected]<mailto:[email protected]>> wrote:
well, the table device_port_properties keeps all interfaces it seems, so i can
just diff those against device_port.
perhaps i'll just extend device_port_properties with 'ignore_reason' or
something....
// nick
From: Pavel Skovajsa
[mailto:[email protected]<mailto:[email protected]>]
Sent: Monday, December 17, 2018 10:23
To: Nick Nauwelaerts
<[email protected]<mailto:[email protected]>>
Cc:
[email protected]<mailto:[email protected]>
Subject: Re: [Netdisco] how does ignore_interfaces work
Nick,
As an idea - Add debug flag to your .yml config file and grep it later?
-pavel
________________________________
Volg Aquafin op Facebook<https://www.facebook.com/AquafinNV> |
Twitter<https://twitter.com/aquafinnv> |
YouTube<http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee> |
LinkedIN<http://www.linkedin.com/company/aquafin/products>
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin
persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de
betrokkenen zijn, kan je nalezen in onze privacy
policy<https://www.aquafin.be/nl-be/privacy-policy>.
P Denk aan het milieu. Druk deze mail niet onnodig af.
--- End Message ---
_______________________________________________
Netdisco mailing list - Digest Mode
[email protected]
https://lists.sourceforge.net/lists/listinfo/netdisco-users