52 Commits

Author SHA1 Message Date
Oliver Gorwits
534a9d9378 #1111 Support for OUI28/MA-M and OUI36/MA-S
* new oui importer using IEEE csv for MA-L+M+S

* schema update for new vendor table

* change vendor to manufacturer because Device has a vendor field

* remove oui from manuf table, and update node oui after manuf update

* faster way to bulk update node oui

* switch from using oui table to manufacturer table for vendor lookup

* some other oui cleanup

* faster/scalable way to join a macaddr to manuf table

* remove device.oui support

* update node oui in bulk at end of macsuck run

* correct literal sql instead of bind

* more efficient to get oui base for each mac

* comment better the base lookup in macsuck
2023-11-14 18:55:54 +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
21bc8cf63e backend field in jobqueue (#1114)
implements #969
2023-10-24 21:49:37 +01:00
Oliver Gorwits
f72acb6006 #1064 implement tags in database and ACL 2023-07-19 11:15:49 +01:00
Oliver Gorwits
8e0aa3a309 #975 RBAC for port control with new portctl_by_role setting 2023-06-28 10:00:01 +01:00
Christian Ramseyer
5d6697b035 Add indexes for custom_fields in device + device_port (#1045) 2023-06-08 16:12:59 +01:00
Oliver Gorwits
1d00ebc91e #949 inconsistencies in time values due to time zone handling 2023-03-03 15:01:06 +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
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
b01d0f08fd add a remote_dns port property 2022-08-14 21:36:50 +01:00
Oliver Gorwits
1e2d9f36bf #912 use new all_oids format with additional status,enum,descr 2022-08-07 23:03:45 +01:00
Oliver Gorwits
2ae86b9fcd make the SNMP Browser faster and colour branches with data 2022-08-04 22:56:23 +01:00
Oliver Gorwits
a1aac2777d use i_subinterfaces to group vlan subinterfaces like link aggregates in device ports view 2022-08-02 18:22:36 +01:00
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
nick n
636aa07f2d Give Pseudo Devices better OS, OS ver, Port Descr, Discovered, and DNS Name
* started pseudodevice rework
* give them a type, os, os_ver and num_ports
  * os_ver will be the netdisco version in which they were created
* give their ports the same value for device_port.descr as device_port.port
* add db update to fill out those fields if they are null, which is most likely
* update last_discover if you make changes to the device
* num_ports will not be updates by the db script, neither will device_port.descr

* use device.name, not device.dns for pseudo

* at least try and get reverse dns for pseudo, works if there is one

* add db revision to manifest

* take dns no config into account

* new meta

* new version

Co-authored-by: Oliver Gorwits <ollyg@users.noreply.github.com>
2021-11-06 21:52:59 +00: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
Oliver Gorwits
0d1dc39d33 #788 use device.name instead of device.dns for pseudo devices 2021-07-14 12:04:29 +01:00
Oliver Gorwits
15a2b46e3a Try again to drop unneeded constraint on netmap_positions 2020-10-27 12:25:33 +00: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
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
2897eda684 #587 #561 update pseudo devices to better support ssh arpnip
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: e0ddbaab a7348900
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
2019-09-03 09:09:55 +01:00
nick n
dbc3fae588 set default to false in create statement
this way existing users will be set to false instead of undef
2019-08-23 20:54:24 +02:00
Oliver Gorwits
c73c3e7569 improvements to radius patch 2019-08-18 09:16:57 +01:00
Oliver Gorwits
744da684de #594 add PK to device_port_log and other tidying 2019-05-27 12:47: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
b22c32a578 better sql update, fixed worker return, better logic on vlans 2019-04-01 22:36:35 +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
4ef5691bb5 allow pseudo devices to arpnip 2019-03-19 13:05:47 +00: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
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
d959adde36 issue DB schema statements each within savepoints 2018-05-09 06:07:30 +01:00
Oliver Gorwits
3ae4eabd39 #12 store Cisco PortFast status in device_port_properties:faststart 2018-03-21 10:53:09 +00:00
Oliver Gorwits
90cfac5e7a rename device_groups to host_groups in netmap positions 2018-03-19 18:15:50 +00:00
Oliver Gorwits
dd44877059 #48 Node Monitor supports matching on OUI 2018-03-10 09:26:23 +00:00
Oliver Gorwits
66ecb203a7 #370 Missing Map Links due to inability to parse port speeds 2018-03-05 21:42:02 +00:00
Oliver Gorwits
94da566184 gather lldp remote capabilities and info 2018-02-28 21:41:34 +00:00
Oliver Gorwits
d13a4489df add cols to device_port_properties for lldpXMedRemInventoryTable stuff 2018-02-28 18:47:30 +00:00
Oliver Gorwits
7191a1cd00 implement port properties table and error disable gathering to it 2018-02-20 22:45:53 +00:00
Oliver Gorwits
d332eaf293 new network map (neighbors) implementation
also link to manual topology from device ports
fix tooltip reinit on datatables paging

Squashed commit of the following:

commit 85d52ed174
Merge: 66e35366 07446ed7
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 31 08:59:19 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 66e353669d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 31 00:16:49 2017 +0000

    add docs link

commit 809f1ede76
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 31 00:11:29 2017 +0000

    node links to other devices

commit 187e1ea803
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 23:58:56 2017 +0000

    add node infostring

commit 6453f99b28
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 23:41:19 2017 +0000

    link infostrings!

commit f3ba260142
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 22:42:09 2017 +0000

    maxnoderadius is now based on dynamic size calc

commit 0af415e391
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 22:33:22 2017 +0000

    fix to get aggregate ports in matching order on left and right side

commit 3f36121a4c
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 22:07:28 2017 +0000

    initial aggregate link summing

commit e5b96b0781
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 14:55:00 2017 +0000

    tidy and refactor

commit 79f22a47b3
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 13:42:58 2017 +0000

    get rid of d3 v3/v4 and only have v3

commit 18c3f16c8f
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 12:54:45 2017 +0000

    fullscreen exit now works

commit 93f8181fc8
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 30 08:58:04 2017 +0000

    implement show link speeds on links

commit 72961f172d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 28 23:51:26 2017 +0000

    add speed to retrieved devicelinks

commit ae5496310e
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 26 11:21:12 2017 +0000

    remove annealing on label change

commit 885cb92bd3
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 26 11:15:21 2017 +0000

    reorder options

commit 015a1debe0
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 26 11:11:01 2017 +0000

    fix d3-force debug link messing up svg text elements

commit 10ccaa78b1
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 26 10:52:47 2017 +0000

    show ips functionality; improvement to maximise icon; bugfix d3-force label wrap

commit 71a1a20909
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Dec 25 13:21:23 2017 +0000

    move labels on neighbor view

commit 9578215349
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Dec 25 13:13:13 2017 +0000

    force running spinner

commit 6618fba548
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 23:13:33 2017 +0000

    fix neighbors pinning

commit 938848551e
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 18:12:04 2017 +0000

    implement dynamic sizing option

commit e4b19be5d7
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 13:25:00 2017 +0000

    zoom to device on neighbor show; do not save positions on neighbor show

commit 58b576b464
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 13:10:48 2017 +0000

    better neighbors/save interaction

commit 2c77660f2f
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 13:03:46 2017 +0000

    fix labels on checkboxes to be clickable

commit 2c2dc62cda
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 12:50:26 2017 +0000

    prevent save positions when in neighbor view mode

commit 78c558b5be
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 12:37:51 2017 +0000

    add tooltip to show why host groups radio is disabled

commit 7000d4b0eb
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 12:12:29 2017 +0000

    allow port control role to edit manual topology

commit 547d2934cb
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 12:09:40 2017 +0000

    working save/restore node positions with groups

commit bf7e231ffe
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 24 10:09:26 2017 +0000

    node colors!

commit e23594b041
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 23:42:17 2017 +0000

    wooo device group selection is working

commit b1b22c9811
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 22:31:23 2017 +0000

    send full query str from netmap for json

commit 9a13bb7f9b
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 22:06:24 2017 +0000

    implement host_group_displaynames and fix vlan save bug

commit 35ed34ed2f
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 17:52:14 2017 +0000

    when neighbors only can restrict the links search

commit f9e5ec02ab
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 17:44:41 2017 +0000

    tweak mapshow

commit 9f9971ff4e
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 23 00:47:17 2017 +0000

    better sidebar look and layout

commit 1def41da67
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 21 23:54:44 2017 +0000

    sidebar with many options!!

commit 4203cbb225
Merge: 7c12df6b 7db65932
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 21 20:14:55 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 7c12df6b83
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 21 00:13:03 2017 +0000

    refresh tooltips when the datatables table is updated

commit 081b89d5dc
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 20 23:59:15 2017 +0000

    shortcut from device port to manual topology

commit 9520438960
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 20 23:34:44 2017 +0000

    tighten the sql for neighbor links

commit d6b0275931
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 20 23:26:22 2017 +0000

    tweak layout again

commit 9e5e2f0ed5
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 20 23:18:57 2017 +0000

    fullscreen mode for netmap

commit aba359d2a9
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 20 22:05:51 2017 +0000

    save and load netmap positions for same device groups

commit b7cd0251ff
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 19 23:24:47 2017 +0000

    basic positions upload

commit 786115ebda
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 19 22:13:16 2017 +0000

    working group drag

commit 91f98d4f33
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Dec 18 23:00:16 2017 +0000

    drag all selected nodes

commit ba48eee5f7
Merge: 60412cd6 7f8e3edf
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Dec 18 20:14:20 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 60412cd6e6
Merge: 39ca1491 7dc79f72
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 17 20:23:41 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 39ca1491b0
Merge: 69622582 c8806bea
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 17 19:52:49 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 6962258223
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 17 19:52:26 2017 +0000

    bleed versions

commit 444e82b8a3
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 16 15:33:41 2017 +0000

    use d3 v4 only

commit 01cd7a908d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Dec 16 15:22:08 2017 +0000

    two d3 connected

commit 854f37fc94
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 14 21:34:49 2017 +0000

    more fiddling with d3

commit 61a3a9e06d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 14 19:15:21 2017 +0000

    working worker

commit ebadebe69a
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Thu Dec 14 07:57:55 2017 +0000

    borken worker

commit c327b28513
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 13 13:45:03 2017 +0000

    fix node center

commit 33bd9d39da
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Wed Dec 13 01:14:50 2017 +0000

    improvements to graphing

commit 6178bf2298
Merge: 1c627eaf 925940c9
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 12 23:44:48 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 1c627eaf3c
Merge: 77ca8f96 000cbaa1
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Tue Dec 12 23:38:00 2017 +0000

    Merge branch 'master' into og-newnetmap

commit 77ca8f96e1
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Dec 11 00:09:08 2017 +0000

    working rendering using d3-force plugin

commit 187265fc03
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Dec 10 23:19:23 2017 +0000

    initial work on moving to d3-force-apex-plugin - json data
2017-12-31 09:13:01 +00:00
Oliver Gorwits
0bb15f36b9 fixes for race conditions and dupes in job queue
we had situations where the manager would start workers on the same job,
either because of race conditions or because at the time of queueing it wasn't
known that the jobs were targeting the same device (due to device aliases).

this commit removes duplicate jobs, reduces the need for locking on the job
queue, and makes use of lldpRemChassisId to try to deduplicate jobs before
they are started. in effect we have several goes to prevent duplicate jobs:

1. at neighbor discovery time we try to skip queueing same lldpRemChassisId
2. at job selection we 'error out' jobs with same profile as job selected
3. at job selection we check for running job with same profile as selected
4. the job manager process also checks for duplicate job profiles
5. at job lock we abort if the job was 'errored out'

all together this seems to work well. a test on a large university network of
303 devices (four core routers and the rest edge routers, runing VRF with many
duplicate identities), ~1200 subnets, ~50k hosts, resulted in no DB deadlock
or contention and a complete discover+arpnip+macsuck (909 jobs) in ~3 minutes
(with ~150 duplicate jobs identified and skipped).
2017-11-23 19:55:34 +00:00
Oliver Gorwits
bd7f40ef88 remove unused stats counts, and improve text on summary 2017-06-28 16:32:06 +01:00
Oliver Gorwits
adeeaaf9bd also active nodes and IPs 2017-06-28 14:16:53 +01:00
Oliver Gorwits
47bf38568e #15 record device and node statistics once a day 2017-06-28 12:03:52 +01:00
Oliver Gorwits
275e01ff59 include last_defer timestamp when deferring a job 2017-06-06 07:56:50 +01:00