Commit Graph

15 Commits

Author SHA1 Message Date
dcstephenson 7e08638f50 Preserve links from other depts during filtered scans
clear_links() now only runs on full scans (dept=None). Dept-filtered
scans upsert without wiping, so GW links survive a Scan ELEC run
and vice versa.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 18:07:43 +00:00
dcstephenson 75d4eeb062 Fix duplicate links from mixed vendor port naming
upsert_link now does a secondary fuzzy dedup by trailing port number
so 'Gi1/9' and '9' are treated as the same port on the same chassis
pair. Prevents duplicate edges when an Aruba and FS switch each report
the same cable using different port name formats.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 17:49:47 +00:00
dcstephenson 237c45ddfc Use manufacturer from NocoDB to select correct Netmiko device type
Aruba/HP switches now connect with hp_procurve instead of cisco_ios,
fixing the 'terminal width 511' failure. Manufacturer is read from
NocoDB and mapped to the correct device type before SSH connect.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 17:38:22 +00:00
dcstephenson 93afa9192b Fix scan log dismiss button visibility and truncate error messages
Dismiss button is now always visible with a bordered style instead of
hidden-until-JS. Netmiko error messages are truncated to first line
(120 chars) so verbose multi-line errors don't flood the log panel.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 17:31:21 +00:00
dcstephenson 121ac18250 Enable template auto-reload and fix scan log UI
TEMPLATES_AUTO_RELOAD=True so index.html volume-mount hot-reloads on
browser refresh without a container restart. Also: scan log persists
after scan with dismiss button when failures exist; slider renamed
from Sessions to Parallel with clarifying tooltip.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 17:22:19 +00:00
dcstephenson 949fa016b1 Add terminal-style scan log panel
scan_state now accumulates log_lines per switch result. The status
bar is replaced with a dark terminal panel showing a summary header
[done/total ✓ok ✗fail | now: hostname] and a scrolling per-switch
log with green/red colouring and timestamps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:52:17 +00:00
dcstephenson ece8193967 Disable paramiko keyboard-interactive auth fallback
Patches Transport.auth_password at module load to default fallback=False,
ensuring each switch produces exactly one RADIUS/AD auth attempt instead
of two. Also moves the paramiko.transport import to module level.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:46:00 +00:00
dcstephenson b19494bc2d Add TCP pre-flight check before SSH to prevent RADIUS lockout
Unreachable hosts are detected via a 3s socket connect on SSH_PORT
before any credentials are sent. Truly offline switches now fail
fast without touching RADIUS/AD at all.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:44:06 +00:00
dcstephenson c8de2620c8 Add scan concurrency and login delay sliders
Serialised logins now sleep `login_delay` seconds between each SSH
auth to prevent AD/LDAP lockout. Both max sessions (1-10) and login
delay (0-15s) are configurable via UI sliders in the header and
passed as JSON to all scan endpoints.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:22:01 +00:00
dcstephenson d3a761baf5 Limit scan concurrency: serialise logins, cap at 5 sessions
Only one SSH handshake/auth runs at a time via a module-level semaphore
to avoid RADIUS lockout. Up to 5 sessions can remain open concurrently
(down from 10) while commands run in parallel after login.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:04:27 +00:00
dcstephenson 5dcd908f33 Fix README to reflect NocoDB-driven switch inventory 2026-05-05 20:18:58 +00:00
dcstephenson b8582a06e9 Remove files.zip 2026-05-05 20:15:32 +00:00
dcstephenson 3a8db08cf5 Fix project structure in README 2026-05-05 20:11:53 +00:00
dcstephenson d32ca80a22 Update core scanner, parser, SSH client, and UI 2026-05-05 20:07:24 +00:00
dstephenson 40d4679a59 Initial commit — LLDP network mapper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:56:13 +00:00