Commit Graph

93 Commits

Author SHA1 Message Date
Oliver Gorwits
e1bfd917a9 update undiscovered neighbors and port properties discovery to use remote_is_discoverable 2022-05-15 23:16:49 +01:00
Oliver Gorwits
1a810d89f3 support for storing remote_is_discoverable on a port 2022-05-15 22:17:36 +01:00
Oliver Gorwits
dc1f76c1aa Feature to gather SNMP Walk, use as Pseudo Device, and Browse Objects
* 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
2021-11-06 07:47:29 +00:00
Oliver Gorwits
2498d9766b #800 gather and report SNMP Chassis ID http://oid-info.com/cgi-bin/display?oid=1.3.6.1.4.1.9.3.6.3&a=display 2021-08-14 13:28:13 +01:00
nick n
83a946d36e replace unicode nonbreaking space with ascii space (#794) 2021-06-23 22:00:33 +01:00
Oliver Gorwits
facc41e310 release 2.046005 2020-10-17 14:40:07 +01:00
Oliver Gorwits
2b72233738 release 2.046004 2020-10-17 14:28:53 +01:00
Oliver Gorwits
3aeed20b78 #735 Slow web search for devices 2020-08-06 21:25:01 +01:00
Oliver Gorwits
dc87a50076 #728 store SNMP Engine ID 2020-06-29 14:38:51 +01:00
Oliver Gorwits
4f57a4d30a rename ports column in device table to be num_ports 2020-04-18 16:50:49 +01:00
Oliver Gorwits
524f4792c3 restore port column needed for discovery 2020-04-18 09:47:05 +01:00
Oliver Gorwits
dff26abc5c API implementation (#712)
* 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
2020-04-15 21:15:52 +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
Oliver Gorwits
3044d7ebe6 fixes to make the PortMacs query work 2020-01-19 15:08:38 +00:00
Oliver Gorwits
d133eb97c2 #667 Network Map: Filter by VLAN doesnt work as expected 2019-12-22 00:16:04 +00:00
Oliver Gorwits
0eab9213c0 should be faster than using IN on large lists 2019-12-21 21:32:27 +00:00
Oliver Gorwits
4e3bfee214 Add TACACS+ support per #660 (#662) 2019-10-15 18:23:51 +01:00
Christian Ramseyer
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
8edbd515e7 Store i_speed_admin (#650) 2019-09-19 14:11:04 +02:00
Oliver Gorwits
542837d266 #591 domain_suffix can be list and supports (simple) regexp
Squashed commit of the following:

commit 975e4c6afc
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Sep 3 13:35:26 2019 +0100

    also support regexp in domain_suffix

commit 0a2b5c8fa2
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Sep 3 13:17:17 2019 +0100

    fix rancid, graph, and nodemonitor

commit 6d881de3ff
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Sep 3 13:11:54 2019 +0100

    improve docs and set default domain_suffix to be list

commit 1dcafc08a8
Merge: 9a752e02 14ac69dc
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Sep 3 13:00:39 2019 +0100

    Merge branch 'master' into og-multiple-domain-suffix

commit 9a752e0298
Merge: c836619f 82a99ea9
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Sep 3 09:45:25 2019 +0100

    Merge branch 'master' into og-multiple-domain-suffix

commit c836619f8c
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Jun 13 07:52:45 2019 +0100

    hokey fix for nodes with domains

commit fed14bd810
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Jun 13 07:02:09 2019 +0100

    basic implementation, rancid graph and nodemonitor missing
2019-09-03 13:35:43 +01:00
Oliver Gorwits
86daf7174d add comments 2019-08-23 09:25:17 +01:00
Oliver Gorwits
d45745dd1d fixed only free ports in device ports view (showing free ports TODO) 2019-08-20 11:13:52 +01:00
Oliver Gorwits
22302114cb working free ports after reboot but bug: row expansion 2019-08-19 23:25:06 +01:00
Oliver Gorwits
b72b1b38e0 add relation to get latest node on port 2019-08-19 14:40:12 +01:00
Oliver Gorwits
c73c3e7569 improvements to radius patch 2019-08-18 09:16:57 +01:00
nick n
5f36916018 last pieces of b59043d / #590 (#600)
since the rest was removed, these comments no longer make sense
2019-05-28 23:29:59 +02:00
Oliver Gorwits
88788534ba #589 only show link with highest agg speed if map links between two devices are asymmetric 2019-05-27 15:36:17 +01:00
Oliver Gorwits
087ca8e33c #586 do not show poller performance rows for still running jobs 2019-05-27 14:23:09 +01:00
Oliver Gorwits
b59043d0ca #590 remove DBIx::Class::Schema::Loader remnants 2019-05-27 12:49:56 +01:00
Oliver Gorwits
35b13723eb Merge branch 'master' of github.com:netdisco/netdisco 2019-05-27 12:45:40 +01:00
Oliver Gorwits
655d2518f4 #596 fix default value on actionset field 2019-05-27 12:42:50 +01:00
nick n
e65f7b84c8 dbic sync between actual db & our functions/docs (#595) 2019-05-27 12:39:07 +01:00
Oliver Gorwits
a6e7943c03 #528 record egress untagged vlans in device_port_vlan table 2019-04-01 14:38:27 +01:00
Oliver Gorwits
46d8c52a08 Implement changes for API authentication and Swagger UI (#541)
* 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
2019-03-17 20:27:19 +00:00
Oliver Gorwits
6cdfd80d10 allow undiscovered neighbors report to use discover_{waps,phones} setting 2019-03-03 14:34:00 +00:00
Oliver Gorwits
ef560fb59a #506 relax device renumber so it works for an alias 2019-03-02 22:41:40 +00:00
Oliver Gorwits
a643820a62 #428 Port-Channels not showing in netmap 2019-03-02 21:54:27 +00:00
Oliver Gorwits
ca3fd8f466 #505 device renumber should update device port properties and device skips 2019-03-02 15:00:18 +00: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
Oliver Gorwits
d614382fcd #436 new SQL query for neigbor map to allow mismatched/one-way links (Linwood-F) 2019-01-02 20:37:19 +00:00
nick n
733f82c3dc 2 typos 2018-12-13 22:52:48 +01:00
Oliver Gorwits
e39cf197bf further tune job picker 2018-06-17 21:55:18 +01:00
Oliver Gorwits
0cce3b3834 jobs with username are only allowed one attempt to unskip 2018-06-07 23:17:13 +01:00
Oliver Gorwits
6098b893ad #410 improvements to Undiscovered Neighbors report 2018-05-07 17:15:11 +01:00
Oliver Gorwits
0193d453ec also fix DevicePortSpeed 2018-04-22 12:44:43 +01:00
Oliver Gorwits
cab129a579 #380 should check descr not name for "vlan" 2018-04-22 11:54:36 +01:00
Oliver Gorwits
ea592c6b28 #398 user submitted jobs are run regardless of max deferrals 2018-04-18 21:57:26 +01:00
Oliver Gorwits
642820d25b try to match remote port in netmap against port, name, and descr 2018-04-10 21:45:41 +01:00
Oliver Gorwits
60e22dda3c Merge branch 'master' into og-remoteport-fix 2018-04-08 13:13:04 +01:00