Commit Graph

669 Commits

Author SHA1 Message Date
Oliver Gorwits
d14c4b6726 #958 make job queue updates work reliably and atomically 2023-01-11 14:59:12 +00:00
Oliver Gorwits
15a5e05a38 #957 error in job queue management when deleting one job 2023-01-10 13:14:43 +00:00
Oliver Gorwits
e43f6de283 #953 fix port reconfig (vlan) fail due to missing DB column data 2023-01-10 13:05:12 +00:00
Oliver Gorwits
83b49f8ece add IEEE8023-LAG-MIB to snapshot retrieval 2022-12-13 15:29:10 +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
22210b26b7 keep port custom_fields in place across device discovery 2022-12-11 16:54:07 +00:00
Oliver Gorwits
97f40539e9 update num_ports to number of actually stored interfaces
also change update_or_insert to just update as the code never runs unless
in_storage anyway
2022-12-11 16:37:33 +00: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
d03eab02db #944 DevicePort.pm should use vlan_entry instead of vlan 2022-12-06 19:11:51 +00:00
Oliver Gorwits
2338a83f2b avoid pulling port_properties rows if with_properties already called 2022-12-04 12:26:10 +00:00
Oliver Gorwits
9eb6aaebfc set layer2 support after successful macsuck, similar to arpnip does for l3 2022-11-25 21:54:03 +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
nick n
97c05658b7 fix db scheme version for 2.058000 (#940)
2.058000 has db schema changes but we did not update the version here
2022-11-04 14:54:55 +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
2cb2809dd9 #935 Macsuck forces ports up/up - but a forwarding table may be present on a port that is down 2022-10-18 12:49:24 +01:00
Oliver Gorwits
2a35a0bc56 #936 user auth method should be drop-down 2022-10-18 11:50:12 +01:00
Oliver Gorwits
f9f06032f0 revert change as check_acl_only is the right way to go 2022-09-30 21:55:50 +01:00
Christian Ramseyer
ebdff809d4 add FTD.pm contributed by Sebastian Roesch 2022-09-30 15:00:02 +02:00
Oliver Gorwits
5502835120 auto add port: and type: to legacy config for ignore_* 2022-09-28 15:16:03 +01:00
Oliver Gorwits
be39ced967 workaround DBICx::Sugar alias only working for non-default 2022-09-27 11:27:36 -04:00
Oliver Gorwits
d6d877a406 rename setting macsuck_no_deviceport to macsuck_no_deviceports 2022-09-24 22:35:23 +01:00
Oliver Gorwits
7884a87e18 sort the tenants in menu 2022-09-24 20:04:31 +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
c5c71b16a2 #928 404 page template broken 2022-09-02 08:59:29 +01:00
Oliver Gorwits
6f37def579 extended vlan ranges 2022-08-17 06:38:23 -04:00
Oliver Gorwits
73862d5ac8 fix device sysname showing in node search 2022-08-17 06:09:43 -04:00
Oliver Gorwits
4d49f04d2a #875 Node Search - swap IP and DNS, add system name, highlight most recent, in the Switch Port rows 2022-08-16 22:25:27 +01:00
Oliver Gorwits
dd468efdd5 #834 VLAN Mismatch report - add sysname, port comment, and vlan diff 2022-08-16 18:12:35 +01:00
Oliver Gorwits
79f7febc16 fix import 2022-08-16 12:27:47 -04: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
e85198731f add remote dns to undiscovered neighbors report 2022-08-15 09:17:11 -04:00
Oliver Gorwits
148e52adf2 fix remote_ip dns resolution 2022-08-15 08:32:58 -04:00
Oliver Gorwits
c375b11cb0 initialise the resolver config for the DNS resolution (how was this even working before?!) 2022-08-15 08:32:13 -04:00
Oliver Gorwits
b01d0f08fd add a remote_dns port property 2022-08-14 21:36:50 +01: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
e5fe5c909e try to make highest job ID win when removing duplicates 2022-08-10 16:15:19 -04:00
Oliver Gorwits
c4e4bd7633 add option to limit snmp node search to current device only 2022-08-09 10:19:05 +01:00
Oliver Gorwits
162925f6eb change for separate uncompressed oid maps in netdisco-mibs 2022-08-09 06:24:22 +01:00
Oliver Gorwits
5d5e36b5fd first suggest a snapshot, then loadmibs 2022-08-08 17:23:50 +01:00
Oliver Gorwits
5265e0403d loosen check for leaf 2022-08-08 09:06:32 +01:00
Oliver Gorwits
b03bb2ac62 issue loadmibs if needed when user gets snapshot 2022-08-08 08:53:17 +01:00
Oliver Gorwits
a874882e6e error message to user to load mibs 2022-08-08 08:45:36 +01:00
Oliver Gorwits
6ea1a22499 fix filename for all_oids.gz 2022-08-07 23:19:08 +01:00
Oliver Gorwits
bd21797557 more helpful message when no snapshot 2022-08-07 23:10:12 +01:00
Oliver Gorwits
af5c8853bf #911 make web snapshots with browser data too 2022-08-07 23:04:32 +01:00
Oliver Gorwits
1e2d9f36bf #912 use new all_oids format with additional status,enum,descr 2022-08-07 23:03:45 +01:00