Commit Graph
58 Commits
Author SHA1 Message Date
Christian Ramseyer f101aa8846 FortiOS.pm improvements
* can handle --More-- pagination
 * suppress some uninitialized variable warnings
2023-11-06 20:53:53 +01:00
Christian Ramseyer 705647c2ef added SLES packages to installation instructions 2023-11-01 14:44:29 +01:00
Christian RamseyerandGitHub be24704cfb Update Changes 2023-08-21 13:34:05 +02:00
Christian RamseyerandGitHub bb9be51acc Update Changes 2023-06-10 10:40:15 +02:00
Christian RamseyerandGitHub 82dea7de2a Try to fix #1044 by subquery inlining instead of CTE (#1046) 2023-06-08 16:29:14 +01:00
Christian RamseyerandGitHub 5d6697b035 Add indexes for custom_fields in device + device_port (#1045) 2023-06-08 16:12:59 +01:00
Christian RamseyerandGitHub 645519dc50 Update Changes 2022-12-13 09:18:02 +01:00
8cc8bdcd19 Add NAC columns to UI (#941)
* Add NAC columns to UI

* Compact variant with a "NAC Summary" column

* display PAE stuff as very short summary in web and full columbs in csv

* add tooltips for actual port status and state detail

* minor naming tweaks

Co-authored-by: Oliver Gorwits <oliver@cpan.org>
2022-12-13 09:16:32 +01:00
Christian RamseyerandGitHub c5a3ad94fd Update Changes 2022-11-04 10:06:27 +01:00
Christian Ramseyer ebdff809d4 add FTD.pm contributed by Sebastian Roesch 2022-09-30 15:00:02 +02:00
Christian RamseyerandGitHub b2d8984afd Update Changes 2022-05-13 18:41:39 +02:00
Christian Ramseyer 072d783a85 add Aruba.pm contributed by @sgb1reg in discussion #869 2022-05-13 18:33:42 +02:00
Christian RamseyerandGitHub 1d3d53337c Update Changes 2022-04-21 22:00:46 +02:00
Christian RamseyerandGitHub d30fa77da1 Update Changes 2022-04-21 21:51:02 +02:00
Christian Ramseyer 015f91077f Fix regression from deprecated moment.js API 2022-04-21 21:41:03 +02:00
Christian Ramseyer b028898003 netdisco-do -D arpnip ... shows collected arp entries
* debug message added in Util/Node.pm
 * works uniformely for SSH and CLI
2022-02-18 09:16:17 +01:00
Christian RamseyerandGitHub 2d2de00b70 Update Changes 2022-02-01 20:03:20 +01:00
Christian Ramseyer e1758d4835 Added SSHCollector/Platform/ASAContext.pm
* based on the work of @haught mentioned in #754
 * added some missing ASA.pm improvements from dc9feb747f..b58a62f300
 * separate module for now since it's untested, if confirmed working
   by ASA owners it can replace the original ASA.pm
2021-11-27 01:23:44 +01:00
Christian RamseyerandGitHub ad6df1fae6 Bugfix: after rotate_logs, restarter() may have a stale PID (#840)
* when rotate_logs restarts the process due to the file being
  above the size limit, the new PID is not returned to the
  caller

* this leads to signal_child signaling the old, non-existing PID
  and subsequently a second master process being started

* fixed by returning the PID from rotate_logs
2021-11-24 13:11:56 +00:00
Christian Ramseyer 74210dd78f Fix snmpretries parsing #835 2021-10-29 20:14:13 +02:00
Christian Ramseyer 9d24c3f6d8 Added support for IPv6 neighbors in NXOS SSHCollector 2021-09-28 18:50:44 +02:00
Christian Ramseyer d099ab5793 Fix IRC web client link 2021-05-27 15:26:58 +02:00
Christian Ramseyer ecab61296b IRC moved from freenode to libera 2021-05-27 15:17:36 +02:00
Christian RamseyerandGitHub 485f47b3bc Update Changes 2021-04-21 13:13:31 +02:00
Christian RamseyerandGitHub 3f3de34f51 Allow <"> in remote_port (#782)
Makes the remote_port info work better with Nokia TiMOS devices.
2021-04-21 13:09:39 +02:00
Christian Ramseyer dcb45e4cad Fix previous commit
* revert unwanted commit of bogus Web/Plugin/Device/Modules.pm
 * commit actual fix for #710
2020-04-25 17:32:01 +02:00
Christian Ramseyer 5663f84917 Fix #710: overwrite invalid EntityMIB parents
Check the obtained EntityMIB tree for invalid parents, and
reassign these modules to the root of the tree so they don't
end up invisible
2020-04-25 17:21:21 +02:00
Christian RamseyerandGitHub ec90e67ce5 Update IpInventory.pm
Remove superfluous oui.abbrev from IpInventory NodeIP vendor
2020-04-21 14:28:02 +02:00
Christian Ramseyer 356a4a77f9 Add netdisco-do Perldoc for getapikey 2020-04-21 00:57:21 +02:00
Christian Ramseyer 4ae9b32973 Fix #704, allow delete without device_auth
* This typically comes up when using a deployment.yml generated from
   some inventory source, the device disappears and can then no
   longer be deleted since netdisco-delete unnecessarily insists on
   needing a valid device_auth
2020-04-21 00:43:59 +02:00
Christian RamseyerandGitHub 48996661ce Add vendor to IP Inventory report (#714)
* request on mailing list by Adrian Sevcenco, 08.04.20,
   "[Netdisco] how to modify report: add column to ip inventory"
2020-04-20 11:21:06 +01:00
Christian RamseyerandGitHub a8a77a2df1 Change SSHCollector::NXOS to use expect (#707)
* $ssh->capture() aka. directly executing a command via
   ssh <device> <command> does not seem to work on NXOS7, maybe
   also others

 * changed this module to use Expect, successfully tested on
   NXOS6 - NXOS9
2020-03-19 13:01:34 +01:00
Christian RamseyerandGitHub 965da8638d Also do CI on .*travis.* branches
* allows testing Travis things without having to PR into another branch
2020-02-03 00:16:45 +01:00
Christian Ramseyer 031c3e6d95 Optimize PortMAC query
* We meant well but it turns out that the array unnest and join is
  actually very slow, as the join arguments do not get pushed down
  into the CTE (in Postgres 9/10 at least, later versions remove some
  of the optimization barriers in that specifc type of query)
* This caused a seq scan on both device and device_port, and the query
  is executed many times during macsuck
* The query is now rewritten to use ANY (macaddr[]) and without CTE,
  which seems to be around 20x faster
2020-01-31 10:32:02 +01:00
Christian RamseyerandGitHub 16e451c77c Change IOSXR Expect close method
* we noticed some hanging SSH connections with soft_close (probably due to fds not being closed properly), so switched to hard_close instead
2020-01-28 17:43:06 +01:00
Christian Ramseyer 8dc35a1b84 Merge branch 'master' of https://github.com/netdisco/netdisco
* 'master' of https://github.com/netdisco/netdisco:
  release 2.044011
2020-01-27 21:08:51 +01:00
Christian Ramseyer 0938cd1651 New version of the IOSXR module using Expect
* The previous module only worked for 32-bit IOSXR, and already
  there some fiddling with the STDIN of the process was required
  when being run from netdisco-backend
* In 64-bit IOSXR, the STDIN workaround stopped working and
  created a stuck ssh process on every arpnip
* This new version uses Expect instead of plain SSH, so a proper
  pty is provided under any circumstances
* Successfully tested on recent 32- and 64-bit variants
2020-01-27 21:03:23 +01:00
Christian Ramseyer f2f5d908bb Fix regression from PR #680
Hi @ollyg! Unfortunately I have found some issues with the code we
finally released in #680:

* get_port_macs expects an array ref but values() returns array,
  so the code was never called due to the return unless... check
* When fw_mac_list had exactly two entries, only the second value
  was bound as a scalar to the parameter. This is probably due
  to the shorthand bind formats described in
  https://metacpan.org/pod/DBIx::Class::ResultSet#DBIC-BIND-VALUES,
  but I'm not a 100% on this.
* return unless now checks for an entry in the list, with the old
  check the statement was also executed for empty lists

In cases where only the device(_port)?.mac lookup worked for uplink
detection, users of 02.044005 - 010 might get a lot of uplinks not
labeled as such.
2020-01-26 22:08:49 +01:00
Christian RamseyerandOliver Gorwits 26d3fbdd40 Reduce macsuck bandwidth usage to database (#680)
* Reduce macsuck bandwidth usage to database

get_port_macs transfers a full list of all device_port.(mac,ip) in every macsuck.
With 8k devices and 40k interfaces it takes up around 15MB. Transferring them 8k times
during an 1h macsuck cycle requires bandwidth in the 300 to 400 mbit/s range.

This patch changes get_port_macs to be called inside walk_fwtable and only transfer
the macs found in the current target device/vlan.
2019-12-21 18:28:47 +00:00
Christian Ramseyer b82e1d273b remove unnecessary blank line added in last commit 2019-10-04 23:50:18 +02:00
Christian Ramseyer 372ada2726 netdisco-do overrides _min_age config
Give the user wanting to manually run a discover|arpnip|macsuck job in
the foreground preference over the respective `_min_age` setting. Tiny
quality of life improvement that mostly comes up in debugging.
2019-10-04 23:40:23 +02:00
Christian RamseyerandOliver Gorwits 8ffdff3bbc Add speed_admin to device ports tab (#650) (#653)
* Add speed_admin to device ports tab (#650)

* move from device_port_properties to device_port table, and tidy up
2019-09-23 13:58:26 +01:00
Christian Ramseyer 26960bdd34 Fix potential crash in Discover/Properties::_get_ipv6_aliases
* On e.g. Cisco N9K, ipv6 objects can be returned undef which crashes the ip alias discovery with `Can't use an undefined value as a HASH reference at .../Discover/Properties.pm line 346.`
 * Discovery continues but leaves device_ip empty, which in turn makes device->neighbor non-functional
 * Fixed by adding various `$snmp->x || {}` safeguards
2019-09-20 13:52:34 +02:00
Christian Ramseyer 8edbd515e7 Store i_speed_admin (#650) 2019-09-19 14:11:04 +02:00
Christian RamseyerandGitHub fc8ed46910 Manually install Test::Compile 2.1.2 for Travis CI (#635)
Seems to work, I'm merging this and add some comments in #622
2019-08-20 19:55:59 +02:00
Christian Ramseyer b58a62f300 Properly escape angle brackets in C<> 2019-06-18 13:42:23 +02:00
Christian Ramseyer a61159deb9 Fix device_auth formatting in POD 2019-06-18 13:39:19 +02:00
Christian Ramseyer a97e069788 Improve netdisco-do doc (related to #540)
* mention how to dumpconfig device_auth
* explain ANSI_COLORS_DISABLED
2019-03-16 14:08:07 +01:00
Christian Ramseyer 9d0aabf194 Merge branch 'master' of https://github.com/netdisco/netdisco 2019-03-16 13:56:14 +01:00
Christian Ramseyer 7547b6629a Merge branch 'master' of https://github.com/netdisco/netdisco 2019-03-09 11:37:34 +01:00
Christian Ramseyer c34c58dd0e Merge branch 'master' of https://github.com/netdisco/netdisco 2019-03-05 10:08:29 +01:00
Christian Ramseyer bf3658f0f3 Merge branch 'master' of https://github.com/netdisco/netdisco 2019-02-28 09:26:29 +01:00
ram c2600ac550 Change location of ifindex to DevicePortProperties
* instead of DevicePort
* as requested by Oliver in PR #513 review
2019-02-23 15:26:38 +01:00
ram 24a7e80470 PR for #510 - store ifindex in device_port 2019-02-23 15:26:38 +01:00
Christian Ramseyer dc9feb747f Merge ASA.PM patch by stromsoe (#494}
* Embedded # characters in the output for show names cause sshcollector not to collect any ARP entries on the ASA platform, since the $prompt variable matches in the middle of the output. Fix is to modify $prompt to match end-of-line.
 * Changing the terminal pager length should be done before sending show names instead of after.
 * Matching on IP address to see if a name needs to be mapped should include start and end field markers, in the event that the name returned from "show arp" embeds an IP address (eg, "abc1.2.3.4xyz")
2019-01-29 23:40:43 +01:00
Christian RamseyerandOliver Gorwits b1ca1b968d Improve netdisco-sshcollector CLI experience (#460)
* Improve netdisco-sshcollector CLI experience

 * add -d <device>
 * add -O debug option to toggle Net::OpenSSH::debug
 * add -w MCE::Loop max_workers
 * updated POD for all of the above

* Fix -Q documentation

 * Specifying -Q multiple times has no effect, removed part talking about that.

* Emit Net::OpenSSH connection failures as warnings
2018-12-28 15:58:32 +00:00
Christian RamseyerandOliver Gorwits f5622929e0 Provide stdin to IOSXR.pm when none available (#462)
* See issue #461 for a detailed description
2018-12-28 14:33:02 +00:00
Christian RamseyerandOliver Gorwits 0737914af5 Fix potential Postgres insert failure (#306)
Some devices can contain random non-utf8 data in syscontact and syslocation,
making the insert fail with "ERROR:  invalid byte sequence for encoding "UTF8"
on discovery. Work around this with Encode::decode.
2017-04-21 20:20:36 +01:00