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
2017-08-21 20:24:21 +01:00
2017-04-14 22:53:22 +01:00
2017-11-19 13:47:45 +00:00
2017-11-19 13:47:45 +00:00
2017-11-19 13:47:45 +00:00
2017-04-19 21:56:33 +01:00
2017-11-19 13:47:45 +00:00
2017-11-19 13:47:45 +00:00
2017-10-11 18:11:34 +01:00

netdisco

Build Status CPAN version

Description

Netdisco is a web-based network management tool designed for network administrators. Data is collected into a PostgreSQL database using SNMP.

Some of the things you can do with Netdisco:

  • Locate a machine on the network by MAC or IP and show the switch port it lives at
  • Turn off a switch port, or change the VLAN or PoE status of a port
  • Inventory your network hardware by model, vendor, software and operating system
  • Pretty pictures of your network

App::Netdisco provides a web frontend with built-in web server, and a backend daemon to gather information from your network, and handle interactive requests such as changing port or device properties.

Startup

Start the web-app server (accessible on port 5000)

~/bin/netdisco-web start

Start the daemon

netdisco$ ~/bin/netdisco-backend start

Main resource:

Other resources:

Description
No description provided
Readme 11 MiB
Languages
Perl 73.2%
JavaScript 12.8%
CSS 6.5%
Raku 3.5%
PLpgSQL 2.7%
Other 1.3%