Implemented hierarchical SNMP community string inheritance following TDD: Schema changes: - Updated Device.changeset to remove required validation for snmp_community - Community string is now optional when SNMP is enabled - Allows inheritance from site or organization level Inheritance hierarchy: - Device-level community (highest priority) - Site-level community - Organization-level community - nil (no community set at any level) Form updates: - extract_snmp_config now resolves inherited community for SNMP testing - validate_test_snmp_input provides clearer error message about inheritance - SNMP test uses effective community from hierarchy Tests: - Added tests for creating devices with nil/empty community string - Added comprehensive SNMP configuration inheritance tests - Tests verify hierarchy: device > site > org > default - All 28 device tests passing All 808 tests passing (2 pre-existing alert notifier failures unrelated to this change) No Credo warnings
1.1 KiB
1.1 KiB
In Progress / Pending
- add and track ICMP pings for each device. it should also put a latency graph on the device page that links to the universal graph like the other graphs
- when adding a new device, make it a tab selector to show the default SNMP & ICMP or ICMP only
- add valkey as a k8s sidecar
- add the latest exq to the web app
- set up any jobs that need to be run in the background to use exq
- when adding a device, stay on the add page after adding and show a message if it was successful so multiple devices can be added in a row
- allow a device to be added without a name and have it populated with the actual SNMP device name if left blank -- let the user know this will happen and allow it to be empty in the ui
Completed
change "revoke" agent to delete and have it actually delete the agent and ensure it's removed from everything it's been assigned and change them to cloud polling if they were previously set to that agent being deletedadd ability to rename an agent in a new edit pageWhen adding a new device, allow the community string to be empty so it will inherit from the parent