Commit Graph

141 Commits

Author SHA1 Message Date
Oliver Gorwits
ef2ab9b6b4 #920 orphan vlans report 2023-11-27 21:23:54 +00:00
Oliver Gorwits
f6cd6a68e8 tidy up some of the report names 2023-11-24 21:17:51 +00:00
Oliver Gorwits
b1024507e9 #1126 acl skip_modules for problematic Entity MIB per device ACL 2023-11-21 15:56:10 +00:00
Oliver Gorwits
ac54635628 #1118 user configurable external links from node search and device details
* frontend example

* process config with template macro

* shared external links template for mac and IP search

* default into product config

* add support for device external links

* better presentation of IP links and change color to grey
2023-11-11 22:05:02 +00:00
Oliver Gorwits
e52f789b45 #1009 neighbour map depth and/or until end of lldp chains
* sidebar and style changes

* switch server code to new params and values

* working algo for cloud and neighbor depth

* store map positions for lldp cloud with depth

* color the root node uniquely

* restrict all devices, depth, cloud map to < 1000 devices
2023-11-09 19:54:34 +00:00
Oliver Gorwits
ae3ad986f7 #969 add job queue totals to report 2023-10-24 20:03:14 +01:00
Oliver Gorwits
993edd0c6a ACL support for scheduled jobs (#1106)
implements #580
2023-09-27 12:03:49 +01:00
Oliver Gorwits
389823bf09 fix egregious typo in default config 2023-09-26 17:12:56 +01:00
Oliver Gorwits
370d483c5a add internal worker plugin to set fqdn for cli actions 2023-09-26 09:27:14 +01:00
Oliver Gorwits
c651ff107b collapse on inventory for long lists (#1103)
implements #1083
2023-09-19 08:11:05 +01:00
Oliver Gorwits
3a820c06e4 #1084 move slow skiplist build to the first job on running backend 2023-09-05 22:55:33 +01:00
Oliver Gorwits
eb87ee00ee #1081 change ethernetCsmacd+notPresent ports from ignored to hidden 2023-09-02 19:24:52 +01:00
Oliver Gorwits
a0f4bbfbb4 #1081 change ethernetCsmacd+notPresent ports from ignored to hidden 2023-08-31 21:50:48 +01:00
Oliver Gorwits
bb15abce58 allow deferrable_actions exceptions to device deferrals 2023-08-12 19:51:05 +01:00
Oliver Gorwits
9eb537a4c1 #910 implement import of snmpwalk and more robust snapshot handling (#1086)
* initial work

* initial work

* initial work

* some fixes for time and Layer3 weird spec

* store again the snapshot after update for specific

* resolve the enums

* monkeypatch SNMP::translateObj to avoid hardware exception on macOS

* only save cache to db in the late phase worker

* no need to check for cache on transport, can just go ahead and try

* use database only for oidmap instead of netdisco-mibs

* rewrite device snapshot to gather loaded mib leafs only

* remove old walker code from snapshot worker

* allow snmp browser to work without snapshot

* only store snapshot leafs which the device responded on

* refactor to separate snapshot work from snmp transport work

* refactor to separate snapshot work from snmp transport work

* allow typeahead on MIB qualified leafs

* fixes for snmpwalk input after previous refactor

* add the extra stuff SNMP::Info device class uses into snapshot

* better width for snmp search box

* fix css for snmp options

* add spinner while snmp loading

* add spinner while snmp loading

* add spinner while snmp loading

* support SNMP::Info device class or named MIBs as extra on snapshot

* add final tidy and bug fix
2023-08-10 22:27:02 +01:00
Oliver Gorwits
47c4226788 refactor CustomFields so with_custom_fields is available on backend 2023-07-20 16:51:04 +01:00
Oliver Gorwits
04ee1e1613 #1064 display device and device port tags in web ui 2023-07-19 13:01:51 +01:00
Oliver Gorwits
4b99f0bb9c #1064 implement setting of tags on discovery based on config 2023-07-19 11:24:41 +01:00
Oliver Gorwits
eac55a581d #1066 implement snmp_try_slow_connect and fast device discover from queue 2023-07-14 17:37:52 +01:00
Oliver Gorwits
0eb26159f9 #1060 portctl_topology setting for web access to manual topo for port_control users 2023-07-12 21:53:38 +01:00
Oliver Gorwits
ef4e3f5181 explicitly use SameSite=Lax Cookie Attribute for dancer.session cookies 2023-06-28 16:39:24 +01:00
Oliver Gorwits
2cbb68889a #975 RBAC for port control with new portctl_by_role setting 2023-06-27 22:52:04 +01:00
Oliver Gorwits
1aef847af3 add "phone" to phone_platforms default config for additional phones not using capabilities 2023-06-08 16:14:20 +01:00
Oliver Gorwits
b5a8f685ab add missing validate_remote_user default to config 2023-06-08 16:14:20 +01:00
Oliver Gorwits
3b4236ed90 fix mistaken release with device ports partial search default as on 2023-06-06 07:03:54 +01:00
Oliver Gorwits
339ecd429a #1038 ability to set "partial" default "on" in device ports sidebar 2023-06-05 17:50:32 +01:00
Oliver Gorwits
195f98dff1 make safe the api calls with potential for demo site damage 2023-06-05 17:28:34 +01:00
Oliver Gorwits
01928fa85d #1037 add new names for vlan 1003 and 1005 in Cisco-land 2023-05-31 20:10:38 +01:00
Oliver Gorwits
949aeb9eea delete hook (#1032)
* make log_message optional in delete_device

* add hooks support to delete job

* make delete job high prio

* web delete now queues job instead of inline delete

* move web logging into web package and remove userlog from device delete helper

* submit delete job for expire device instead of inline delete

* fixes to get web submit form for delete device to work

* enable delete hook functionality
2023-04-30 22:58:42 +01:00
Oliver Gorwits
e268b9d522 #1010 Search port descriptions 2023-04-03 22:02:43 +01:00
Oliver Gorwits
1d988bbf7c implement ignore_layers, force_macsuck, force_arpnip config settings (#1002)
* implementation of ignore_layers, force_macsuck, force_arpnip and macwalk

* use new WalkJobs view to get devices needing macsuck

* also new query for discoverall, arpwalk, nbtwalk

* faux record has a last_defer stamp so we can see when the backend started

* fix typo
2023-03-15 14:44:42 +00:00
Oliver Gorwits
3ee0c7692c #991 Recently Added Devices report 2023-03-07 20:42:20 +00:00
Oliver Gorwits
1505a8637b #952 support user-supplied net-snmp options in SNMP Transport 2023-03-07 18:17:30 +00:00
Oliver Gorwits
02537fbfba #921 IPs on Multiple Devices report 2023-03-06 21:37:10 +00:00
Oliver Gorwits
c033687ec1 #921 Devices with Multiple Addresses report 2023-03-06 17:14:03 +00:00
Oliver Gorwits
4e6f143dec #933 separate Duplex port info into running and configured columns 2023-02-24 14:57:00 +00:00
Oliver Gorwits
c82dfc8a10 #948 Column order wrong when displaying custom fields 2022-12-13 11:30:36 +00:00
Christian Ramseyer
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
Oliver Gorwits
1c7c749f0e custom fields on devices and ports in the web from config (#945)
* custom device field web display and edit

* make display work; relies on T::T calling dict slot or method with same syntax

* add storing port custom fields

* use resultset method instead, use cf_ prefix

* update Pg min ver for jsonb

* allow override of position and default for port custom fields

* support hidden for custom fields

* update description of Objects API class

* allow left and mid position for custom fields

* add custom fields in csv

* change port control sidebar label

* fix default missing bug on backend jobs
2022-12-09 10:20:26 +00:00
Oliver Gorwits
826e1db39d API Endpoints to submit arpnip and macsuck results (#942)
* Add macsuck worker to collect various PortAccessEntity (NAC) attributes

* Incorporate PAE feedback on #937

 * missing Result/Device.pm column added
 * pae_is... columns instead of pae_capabilities
 * moved most code to Util/PortAccessEntity.pm so the update can
   be done in discover and macsuck

* Refactor PAE attributes during discover as separate Plugin

* PortAccessEntity: don't use device->dns in log string

* Fix "Experimental keys on scalar is now forbidden" test failure

* Revamp pae_control and add missing attribute

 - device.pae_control (text) is now device.pae_is_enabled (bool)
 - also store pae_authconfig_port_control (port mode auto/force(un)Auth)

* Fix "Experimental keys on scalar is now forbidden" test failure

 - ... again because of botched merge
 - at least perlgolfed away a set of curly braces

* Update PortAccessEntity.pm

* Incorporate @ollyg PR feedback

* allow actions without transport to run when there are also no creds

* initial refactor for separate gather, process, store phases for macsuck

* factor out the vlan sanity check

* additional help with log of action workers

* cleanup logic in check macsuck

* refactor to make main phases only

* some fixes

* implement file slurp. amazingly the whole thing works

* remove outdated noop from test

* treat error as critical, use cancel to suppress further drivers

* big refactor to share mac sanity code to both paths

* fix inverted logic on vlan sanity filter

* some code tidy

* fix error in default value

* fix for vlan 0 nodes input from cli

* ensure imported MACs are IEEE format

* add api endpoint, no useful return status yet

* exit status if error from nodes PUT

* suppress other networked workers when direct workers are active

* better log showing worker

* fix status recording to get first error or last done message

* implement arpnip API PUT

* avoid package redeclaration error

* make sure write API methods require admin status

* add doc for passing JSON data to arpnip and macsuck

* update manifest

* remove option to do jobs in web handler; all by queue now

* use job entry timestamp for offline queued jobs

* fix store username and IP on api PUT

* never de-duplicate user-submitted jobs; never reset DeviceSkip for offline jobs

* myworker no longer needed

* make logic cleaner

Co-authored-by: Christian Ramseyer <ramseyer@netnea.com>
2022-11-25 15:24:23 +00:00
Oliver Gorwits
0e9ff81cf5 Add worker to collect various PortAccessEntity (NAC) attributes (PR #937, partially implements #887)
* Add macsuck worker to collect various PortAccessEntity (NAC) attributes

* Incorporate PAE feedback on #937

 * missing Result/Device.pm column added
 * pae_is... columns instead of pae_capabilities
 * moved most code to Util/PortAccessEntity.pm so the update can
   be done in discover and macsuck

* Refactor PAE attributes during discover as separate Plugin

* PortAccessEntity: don't use device->dns in log string

* Fix "Experimental keys on scalar is now forbidden" test failure

* Revamp pae_control and add missing attribute

 - device.pae_control (text) is now device.pae_is_enabled (bool)
 - also store pae_authconfig_port_control (port mode auto/force(un)Auth)

* Fix "Experimental keys on scalar is now forbidden" test failure

 - ... again because of botched merge
 - at least perlgolfed away a set of curly braces

* Update PortAccessEntity.pm

* Incorporate @ollyg PR feedback

Co-authored-by: Christian Ramseyer <ramseyer@netnea.com>
2022-11-04 10:03:26 +01:00
Oliver Gorwits
d6d877a406 rename setting macsuck_no_deviceport to macsuck_no_deviceports 2022-09-24 22:35:23 +01:00
Oliver Gorwits
1d5f3ce316 #929 implement first half of multi tenancy with tenant_databases setting 2022-09-24 19:01:16 +01:00
Oliver Gorwits
790c51b257 #925 implement ignore_deviceports and hide_deviceports 2022-09-20 20:32:35 +01:00
Oliver Gorwits
f4dde980ff #914 change from silent_ports to macsuck_no_deviceport 2022-08-16 09:27:50 +01:00
Oliver Gorwits
6a27a2b3b1 #914 initial implementation of silent_ports 2022-08-15 22:26:38 +01:00
Oliver Gorwits
7aca60a348 bug - fe80::/10 is not LOCAL ADDRESS like ::1/128 2022-08-15 11:26:49 -04:00
Oliver Gorwits
3684451f2a add ifindex column for show 2022-08-14 21:13:27 +01:00
Oliver Gorwits
a004db2951 add discover_routed_neighbors setting default true 2022-08-10 17:31:04 -04:00
Oliver Gorwits
3d81f3e5f6 make hide1002 and vlan_names true sidebar options and move to port properties section 2022-08-03 06:22:51 +01:00