* fix anomalous name
* add gather worker
* fix encoding of binary storage
* store results back to job
* now parsing mbis report to translate
* fix the broken report parser
* rename gather to snapshot
* implement walk code copied from SNMP::Info
* can now bulkwalk and parse mibs report and store resolved walk in cache
* add func/glob aliasing broken
* better aliasing
* implement aliasing from globals and funcs
* fix regexp for matching netdisco-mibs report
* fake cache entry for all ND2 methods called, add comments
* also save to logs/snapshots/IP
* add doc for netdisco-do
* add is_pseudo column to device table
* support for loading cache for pseudo devices
* check for hrSystemUptime as well as sysUpTime for snmp connect
* display pseudo devices with yellow pill for name
* color all cells for layers for pseudo
* no need to b64 encode binary data in scalars as we b64 whole thing after
* tweaked uptime check
* store snapshot to database instead of Job
* expose snapshots in device details tab
* small ux improvements on snap download
* fixes for errors in subnet mask searching
* hide snapshot management for pseudo devices
* update to use new netdisco-mibs object cache
* update for new format oids file
* start of work on loading walk into db for browsing
* store values and meta
* add auto increment col and oid index to browser
* start web plugin for browser
* add virtual search for oid children
* have all oid in separte table (60 seconds load on my laptop)
* rename table and add relation
* store oid as int array
* fix sql for children
* make jstree start working
* working very slow tree expand
* fix to work when first displaying tree
* store both oid and oid_parts
* simplify SQL to speed up (more complicated perl)
* fix sql bug, add better index, prettify tree
* render the snmp node detail
* add node template, make scrollable, pretty print data values (insecure)
* store munge hint
* some dubious code to munge the data
* make sure to filter by IP on device_browser
* make safer the rendering of value data (but need to come back to key ordering)
* fix sorting on object values
* limit the opening of child nodes to keep response good and unclutter
* factor out the munge and make safer
* reject unknown mungers
* show the munger and option (not working) to change
* additional js for munge select
* complete custom munge
* change so that saving to database is only at CLI and on request
* hide snmp tab if no browser rows in the db
* add helpful message when no browser rows for the device
* stub handler for search and add recurse control
* working search
* minor ui fixes
* implement typeahead for leaf search
* limit rows in typeahead
* make sure device_browser is visited in delete and renumber
* add requirements for this branch
* update manifest
* make sure node search and typeahead are restricted to current device only
* initial v0 creator
* working json api for generic reports
* add require login
* move report swagger into plugin, and set new default layout of noop
* require proper role and also use new util func
* start to tidy authn
* some work on cleaning up web authn
* clean up the authN checks
* fix bug
* fix the auth for api
* fixes to json handling
* set swagger sort order
* enable most reports for api endpoints
* fix doc
* add paramters to reports
* add missed report
* allow api_parameters in reports config
* reorganise api
* add vlan search
* add port search
* make sure to enable layout processing
* add device search
* add v1 to api paths
* add Node Search
* support api_responses
* add device object search; fix spurious ports field in device result class
* handle some plugins just returning undef if search fails
* errors from api seamlessley
* fix error in date range default
* more sensible default for prefix
* change order of endpoints in swagger-ui
* all db row classes can now TO_JSON
* add device_port api endpoint
* add device ports endpoint
* do not expand docs
* add swagger ui json tree formatter
* add all relations from Device table
* add port relations
* add nodes retrieve on device or vlan
* rename to GetAPIKey
* update config for previous commit
* 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
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.
* 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.
this patch resets all pseudo devices to have no layer3 support but adds a
feature to the pseudo devices admin panel to enable layer3 support. it also
changes arpnip and arpwalk behaviour to always permit the action if layer3
is available (ignoring the vendor).
documentation will need updating to tell users to create pseudo devices
with layer3 support when they want to arpnip an unsupported platform.
arpnip with ssh/cli against a supported platform (one that can be discovered)
will continue to work normally.
Squashed commit of the following:
commit 9dad5be81d
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 09:03:53 2019 +0100
allow pseudo with layer 3 to run arpnip
commit 7d97943fcd
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 08:59:10 2019 +0100
allow pseudo devices with layer 2/3 capability
commit d1fdf574e3
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 08:55:41 2019 +0100
move pseudo and layer checks to is_able from is_able_now
commit e0f72ef67d
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 08:51:42 2019 +0100
ports defaults to one
commit 86ba01270c
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 08:50:45 2019 +0100
add tooltip for arpnip toggle
commit cdd2470228
Author: Oliver Gorwits <oliver@cpan.org>
Date: Tue Sep 3 08:34:46 2019 +0100
simplify template
commit 46236d68ea
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 23:53:56 2019 +0100
a fix up for pseudo devices which need layer 3
commit 016d249efc
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 20:37:11 2019 +0100
do not wrap buttons
commit 1ec1402e0c
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 20:33:03 2019 +0100
implement user settable layer-three service for pseudo devices
commit a267efa3d8
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 18:39:22 2019 +0100
only set layer if successful action
commit b108be5e23
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 18:32:19 2019 +0100
should defer SNMP against pseudo devices
commit 897ba3a629
Merge: e0ddbaaba7348900
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Sep 1 14:54:36 2019 +0100
Merge branch 'master' into og-pseudo-vs-cli-arpnip
commit e0ddbaab08
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Aug 26 11:35:13 2019 +0100
as last commit, for discover
commit 61f9c89040
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Aug 25 23:55:38 2019 +0100
move pseudo and layer checks into is_*able functions
commit 8b010d4023
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Aug 25 18:38:11 2019 +0100
any device completing macsuck/arpnip must have that layer
commit a11bce7863
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Aug 25 18:33:27 2019 +0100
clean up device layers
commit d2661bff61
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Aug 25 18:18:02 2019 +0100
first make arpnip behave like other jobs towards pseudo devices
* update changes and SNMP::Info dep
* Integrate netdisco-sshcollector into Worker::Plugin architecture (#489)
* Initial integration of sshcollector into Worker::Plugin architecture
* add NodesBySSH.pm
* update Build.PL and config.yml to integrate the new module
* Further integration of sshcollector into Worker::Plugin architecture
* added App::Netdisco::Transport::CLI loosely based on ::SNMP counterpart
* switched to the more prevalent two-space tabs style
* removed various TBD items, some new ones
* Further steps to integration of sshcollector into Worker::Plugin architecture
* cleaned up code
* added various error handling
* warning for bin/netdisco-sshcollector deprecation
* device_auth allows passing master_opts to Net::OpenSSH
* netdisco-do -D also toggles Net::OpenSSH debug
* Merged NodesBySSH.pm into Nodes.pm
* see https://github.com/netdisco/netdisco/pull/489#pullrequestreview-205603516
* Further integration of sshcollector into Worker::Plugin architecture
* add snmp_arpnip_also option to sshcollector device_auth
* cleanup code
* Remove big TBD: comment from CLI.pm as doc is updated now
* add transport/cli.pm to manifest
* revert some changes to allow simpler merging
* silent exit legacy script unless explicitly requested
* move ssh code into Transport, part one
* rewrite the CLI transport to provide an API
* merge in og-get_external_credentials
Squashed commit of the following:
commit 3fe8f383a7
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 11 17:07:42 2019 +0000
add debug lines and tested
commit 3249739e42
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 11 16:54:11 2019 +0000
change config name to get_credentials
commit e78558397a
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 11 16:51:11 2019 +0000
separate out generic device auth to DeviceAuth module
commit 249f05165f
Author: Oliver Gorwits <oliver@cpan.org>
Date: Wed Mar 6 18:43:31 2019 +0000
release 2.040007
commit e3af64df77
Author: Oliver Gorwits <oliver@cpan.org>
Date: Wed Mar 6 18:42:47 2019 +0000
#521-redux fix wifi date search
commit 48857ae300
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 4 12:03:31 2019 +0000
release 2.040006
commit e09dab5362
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 4 11:39:12 2019 +0000
#527 update List::MoreUtils version requirement
commit 6e7de3fff3
Author: Oliver Gorwits <oliver@cpan.org>
Date: Mon Mar 4 09:59:41 2019 +0000
release 2.040005
commit 0c98318a45
Author: Oliver Gorwits <oliver@spike.local>
Date: Mon Mar 4 09:57:18 2019 +0000
#526 fix discover syntax bug
commit e9efc45182
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 14:56:48 2019 +0000
release 2.040004
commit 6cdfd80d10
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 14:34:00 2019 +0000
allow undiscovered neighbors report to use discover_{waps,phones} setting
commit ac381e0802
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 14:13:20 2019 +0000
#506 was a red herring
commit b83e614c85
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 13:00:36 2019 +0000
make discover_{phones,waps} work with LLDP capabilities as well
commit 189d234b55
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 12:47:38 2019 +0000
check discover_no_type and friends earlier on in neighbors list build
commit 9c956466f3
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 12:32:07 2019 +0000
also update default config for new discover_phones and discover_waps settings
commit 09d29954d2
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 12:26:50 2019 +0000
#512 fix regression in phone/wap discovery exclusion
commit 2bae91f1b6
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 12:01:34 2019 +0000
rename match_devicetype() to match_to_setting()
commit 57cb6ddb70
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sun Mar 3 09:19:39 2019 +0000
fix for over-eager fix to #506
commit ef560fb59a
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 22:41:40 2019 +0000
#506 relax device renumber so it works for an alias
commit 7a8bcb094e
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 22:23:39 2019 +0000
#521 Search Node Date Range not working
commit a643820a62
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 21:54:27 2019 +0000
#428 Port-Channels not showing in netmap
commit 5ba5bcd295
Merge: e7aacddba1f95028
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 20:04:11 2019 +0000
Merge branch 'master' of github.com:netdisco/netdisco
commit e7aacddbc6
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 20:01:05 2019 +0000
#498 Map with VLAN filter omits unconnected devices
commit a1f95028ca
Author: nick n <39005454+inphobia@users.noreply.github.com>
Date: Sat Mar 2 19:54:22 2019 +0100
catch up with changes
noticed that rc-sshcollector-core received updates to changes, add them here as well.
didn't mention #499 & #522
commit ce1b847cea
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 18:47:44 2019 +0000
fix bug showing no nodes when only one matches in netmap
commit 78e30a7926
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 16:28:15 2019 +0000
#500 filtering in device/ports on native vlan duplicates entries
commit 9952f0c6c7
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 15:02:12 2019 +0000
#499 netdisco-do renumber reports wrong ip (inphobia)
commit ca3fd8f466
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 15:00:18 2019 +0000
#505 device renumber should update device port properties and device skips
commit 1265bc8470
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 14:52:21 2019 +0000
#520 catch slave ports defined without a master
commit d4c7579c10
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 14:47:49 2019 +0000
#522 TypeAhead.pm can reference empty data (inphobia)
commit 77decc23b7
Author: Oliver Gorwits <oliver@cpan.org>
Date: Sat Mar 2 14:45:37 2019 +0000
#514 inconsistent results in ip inventory (inphobia)
commit 3f211650b8
Author: nick n <39005454+inphobia@users.noreply.github.com>
Date: Fri Mar 1 12:34:42 2019 +0100
last pieces for db schema upgrade
last piece of #510
* import legacy sshcollector config
* add default use_legacy_sshcollector config
* remove unneeded deps
* various fixes and now tested
* enable sshcollector platform tests