this and two related commits implements:
- setting snmp_field_protection which can be used to protect any
database field from having a null value set
- extra device discover worker which prefetches SNMP interfaces and
performs some sanity checks and comparison against the DB
the two checks will return job status ERROR with CANCELLED if they
see anything fishy.
* 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
* typo
* make this a link
* netdisco-rancid-export has been replaced
* rancid worker config
* netdisco-rancid-export now a no-op
* note debugging option
* initial token-based-api login handler
* add token schema and validation
* initial import of pyro3d api code
* basic Swagger spec support
* Merge in working copy of API/Device.pm
* Fix some error handling for API/Device.pm
* Break out utility functions into separate file, to allow other api portions to use
* Add NodeIP support.
* Add nodeip plugin to config
* remove double define of "plugin:" (#448)
disclaimer: i did not test this is any way, came across it when looking for something else.
* only AuthZ header for api use, and alway regen key on login
* use RFC7235
* workaround for Swagger plugin weird response body
* do not autodiscover swagger routes
* code formatting only
* move api util to utils area
* initial full swagger spec for nodeip search
* add api user role and fix api auth failure response
* update version of swagger-ui to 3.20.3
* add more openapi defs
* fixes to SQL and api spec
* clean up subs
* improvements to login/logout for API
* make api logout work
* add openapi tags to group operations
* allow api params to be generated from DBIC schema spec
* remove API calls for nodes and devices
* remove some poor assumptions about api calls
* tidy up
* remove DDP
* make login and logout similar
* example of api call being handled by ajax call
* make the branch authonly
* 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
* first steps for vlan tab
* export sort_vlans, use strict/warnings
* update manifest, get worker closer to functioning
* remove ie 9 script & extra ./th
* make it work
* cleanup
* readd internet explorer code
* start for csv output
* move things to debug logging instead of info
* use message which was discussed
* fix for address table sorting
* link os
* final touches thx to ollyg
* fetch origin/master
* VLAN is the preferred style for user interface usage
* does a missing libexpat-dev make travis builds complain?
* Revert "does a missing libexpat-dev make travis builds complain?"
This reverts commit 0cebc66f42708ff0f946213aab4bcbcc1b1b1379.
not sure if this is a typo or not, but bri singaling interfaces have 1 'l' on cisco devices.
"BRI0-Signaling" was taken from a netdisco report, router is a "897VaK9" running ios "15.5(3)M7".
as such, i've added the 1 'l' variant to the ignore_interfaces list. if this was indeed a typo perhaps the double 'll' variant can be deleted.
* Update config.yml
these are used internally in cisco ucs blade chassis, there is no reason i can think of to collect these.
* update config.yml, ignore ii1/1/1 interfaces
nexus 9000's have controllers to control whatever they run between their asics. for some reason they get exposed over snmp, but they are only needed in the internal fabric. as such, ignore them.
(they are actually called ii*/*/*, no fancy long names for them as for most other interfaces, if you want to find out more you'll need to google "higig2")