Changelog

Release 30.0.0

Release 30.0.0 is the first in the Horizon 30 series, introducing a number of new features, most notably a preview of a new web UI, and the ability to back up infrastructure device configs.

The codename for Horizon 30.0.0 is Nutria.

Epic

  • Provide the ability to define application thresholds and trigger events based on the thresholds. (Issue NMS-13647)

Bug

  • Vertical/Horizontal Layout Choice Not Persisting (Issue NMS-13212)

  • Enlinkd API response extremely slow for some nodes (Issue NMS-13507)

  • Node cache gets out of sync with database (Issue NMS-13508)

  • Minion /etc/sysconfig/minion file refers to Sentinel (Issue NMS-13659)

  • Install script fails when using Azure PostgreSQL Services (Issue NMS-13715)

  • Synchronization violated for InterfaceToNodeCacheDaoImpl (Issue NMS-13782)

  • OIA event configuration extensions do not work reliably (Issue NMS-13787)

  • Revisit smoke test for OIA plugins (Issue NMS-13872)

  • TIMETETRA LLDP supported device does not persist all remote links (Issue NMS-13923)

  • End to End Poller test with Sample device (Issue NMS-13925)

  • [Web] - WebServer Fingerprinting (Issue NMS-13987)

  • Telemetryd does not shut down gracefully (Issue NMS-14003)

  • Fix issues on DeviceConfig Rest Service (Issue NMS-14040)

  • Device Config Retrieval fails if TFTP Server is getting reopened (Issue NMS-14077)

  • Invalid node Foreign ID not checked during provisioning resulting in various RRD graphing problems (Issue NMS-14142)

  • Fix flaky test HeartbeatConsumerIT (Issue NMS-14164)

  • Grafana dashboard box links are no longer valid in Grafana 8.4 (Issue NMS-14184)

  • Fix new UI back button test failure (Issue NMS-14190)

  • Users with ROLE_USER face Access Denied when accessing Resource Graphs from Reports Section (Issue NMS-14193)

  • make sure license-maven-plugin is re-enabled in foundation and release branches (Issue NMS-14217)

  • Performance degradation compared to H29 (Issue NMS-14237)

  • Fixing new UI list log & etc fail due to symbolic link (Issue NMS-14239)

  • Exception when searching assets (Issue NMS-14240)

  • Requisition Web UI refers to "drop down" that doesn’t exist (Issue NMS-14246)

  • Handle duplicate interface on a given location in DeviceConfig. (Issue NMS-14248)

  • UI: cannot configure requisition (Issue NMS-14260)

  • DCB menu items are mislabeled "Configuration Management" (Issue NMS-14261)

  • Rogue opennms-tools/phonebook/pom.xml (Issue NMS-14266)

  • Disable editing of requisition:// URLs in external requisition editor (Issue NMS-14270)

  • Omit empty VMware credentials from URL in external requisition editor (Issue NMS-14271)

  • Fix requisition http/s path field and hostname validation (Issue NMS-14272)

  • Fix hostname validation (Issue NMS-14273)

  • DCB: Handle script file missing scenario better (Issue NMS-14275)

  • Remove "Commercial Support" ticket lookup from web ui support section (Issue NMS-14280)

  • Allow multi-line metadata (Issue NMS-14282)

  • Incorrect validation of requisition name for DNS external requisitions (Issue NMS-14284)

  • Main requisition editor incorrectly mentions Requisition Definition (Issue NMS-14285)

  • Remove sorting of Schedule Frequency column (Issue NMS-14286)

  • SCV entry attribute values become literal asterisks after editing in web (Issue NMS-14292)

  • DCB: SshException "EdDSA provider not supported" (Issue NMS-14306)

  • Kafka-Producer Alarm Resync Failing Post Entire Kafka Cluster Outage (Issue NMS-14321)

  • DCB: Unable to decompress the .gz file (Issue NMS-14328)

  • Shorten "External Requisitions and Thread Pools" item in New UI Preview (Issue NMS-14330)

  • DCB: Wrong cron expression results in no devices in DCB UI (Issue NMS-14333)

  • External Requisition UI: Advanced cron validation message of by 1 (Issue NMS-14340)

New Feature

  • Create Config Backup DB table and DAO layer (Issue NMS-13775)

  • Integrate persistence of Device Config with Pollerd (Issue NMS-13777)

  • Write specific event data into time series (Issue NMS-14060)

  • Add the ability to define an enumeration to convert collected strings into numeric values (Issue NMS-14084)

  • Add SCV Rest API (Issue NMS-14173)

  • Add UI Components for SCV (Issue NMS-14205)

  • DCB: Handle Archival of backups (Issue NMS-14214)

Story

  • Add docs to Health-Check Rest API (Issue NMS-13386)

  • Geo Map: make use of modules for vuex store so that the code can be easily integrated into larger project (Issue NMS-13506)

  • Geo map: Display different colors on map base on alarm severity (Issue NMS-13561)

  • Create REST endpoint to trigger rescan of individual nodes (Issue NMS-13638)

  • Smoke tests should use HealthCheck Rest instead of connecting to SSH (Issue NMS-13645)

  • Upgrade Karaf to v4.3.6 (Issue NMS-13658)

  • Document how to upgrade OpenNMS (Issue NMS-13692)

  • Flow Thresholds: Proof-of-concept implementation (in-memory approach) (Issue NMS-13706)

  • Flow Thresholds: Documentation (Issue NMS-13707)

  • Flow Thresholds: Data collection (Issue NMS-13708)

  • Flow Thresholds: Scheduling for data collection & thresholding (Issue NMS-13709)

  • Flow Thresholds: Graph Templates (Issue NMS-13710)

  • Flow Thresholds: Housekeeping (Issue NMS-13711)

  • Flow Thresholds: Allow to enable/disable thresholding/data collection (Issue NMS-13712)

  • Add OIA plugin support for Minion (Issue NMS-13739)

  • Allow collectors exposed via OIA to be scheduled via collectd (Issue NMS-13743)

  • Add OIA plugin support for Sentinel (Issue NMS-13751)

  • Flow Threshold: Create session by Interface Id (Issue NMS-13771)

  • Web-based file editor for $OPENNMS_HOME/etc/ (Issue NMS-13772)

  • Flow Thresholds: Compute sequence numbers to support distributed flow thresholding (Issue NMS-13790)

  • Implement TFTP Server to fetch config from network devices (Issue NMS-13796)

  • Implement Device Config Monitor (Issue NMS-13797)

  • DCB - Create a default poller config for backup (Issue NMS-13801)

  • DCB - Document how to use the polling packages and the requisition to configure backups (Issue NMS-13802)

  • DCB - Provide a dashboard (Issue NMS-13803)

  • DCB - Add trigger for manual backup (Issue NMS-13804)

  • Flow Thresholds: Add ifName to strings.properties (Issue NMS-13855)

  • Sanitize application names in resources (Issue NMS-13913)

  • Flow Thresholds: Improve logging and debug (Issue NMS-13915)

  • Tackle poller scheduling with Device Config Backup (Issue NMS-13924)

  • Create a module that handles all device config retrieval and receiving backup config (Issue NMS-13935)

  • Create module to retrieve Device Config backup manually (Issue NMS-13936)

  • Create Sink module that can receive Device Config backup updates (Issue NMS-13937)

  • Flow Thresholds: Fix handling of rrdRepository (Issue NMS-13945)

  • Move persistence to MonitorAdaptor, add failure related fields (Issue NMS-13950)

  • Create alarm when device config backup fails (Issue NMS-13951)

  • Add Rest API to trigger manual backup of Device Config (Issue NMS-13952)

  • Retroactively tie in the endpoints (Issue NMS-13968)

  • Add Rest API to Retrieve Device Config Schedule Data (Issue NMS-13970)

  • DCB - Rest API for Downloading Device Configuration (Issue NMS-13990)

  • Investigate and identify steps (JIRA issues) to support constraints based on multiple parameters in the rules engine (Issue NMS-14006)

  • Add End-to-End Integration Test for Device Config Monitor (Issue NMS-14012)

  • Add introduction for Device Config Backup feature (Issue NMS-14013)

  • Add Karaf command to retrieve Device Config (Issue NMS-14031)

  • DCB - Delete all device configs related to deleted interfaces / nodes (Issue NMS-14038)

  • Determine Local IPAddress on Minion/OpenNMS system (Issue NMS-14039)

  • DCB Rest API: Ensure various sorting/filtering criteria work (Issue NMS-14046)

  • DCB Rest API: Parse cron scheduling info (Issue NMS-14047)

  • Unify and streamline metadata and service handling (Issue NMS-14049)

  • Revisit error/exception handling in SshScriptingServiceImpl (Issue NMS-14061)

  • Document missing handlers (Issue NMS-14065)

  • Always retrieve script from file instead of inline script (Issue NMS-14069)

  • DCB: UI fixes as per Demo Feedback (Issue NMS-14081)

  • DCB: Return config data as text in Rest API (Issue NMS-14082)

  • DCB: Create UI for comparing 2 backup configurations (Issue NMS-14089)

  • Vue UI - Upgrade all packaged to latest, introduce auto-imports (Issue NMS-14090)

  • Create OpenNMS images for the ARM processor (Issue NMS-14098)

  • Upgrade feather to v0.10.1, fix CSS changes, breaking TS changes (Issue NMS-14104)

  • DCB UI Changes based on latest Rest API (Issue NMS-14110)

  • DCB Rest API Updates (Issue NMS-14112)

  • Support Host Key verification (Issue NMS-14118)

  • Support new role for viewing and performing manual Device Backups (Issue NMS-14121)

  • DCB: UI Documentation (Issue NMS-14131)

  • DCB: UI changes to align with latest Rest API (Issue NMS-14141)

  • DCB: API endpoint renaming (Issue NMS-14147)

  • DCB: Rest API and UI: Fixes to device backup (Issue NMS-14151)

  • DCB: Download not working correctly (Issue NMS-14152)

  • DCB: Multiple Device Backup from UI/Rest (Issue NMS-14153)

  • DCB: Add support for SCV retrieval through Metadata API (Issue NMS-14155)

  • DCB: Monitor should return poll status based on last retrieval (Issue NMS-14163)

  • DCB: Display Device Count for queries (Issue NMS-14165)

  • DCB: add messages in UI to indicate the lack of the new DCB role (Issue NMS-14170)

  • Add document for event time series collector (Issue NMS-14171)

  • DCB: Provide example scripts to download device configurations (Issue NMS-14174)

  • DCB: New UI display for Config Type (Issue NMS-14175)

  • Expose Secure Credentials Vault via Integration API (Issue NMS-14185)

  • Document new UI features in H30 (Issue NMS-14189)

  • Add new KPIs to datachoices telemetry (Issue NMS-14203)

  • Restrict logging on org.opennms.container.web.bridge.rest (Issue NMS-14206)

  • Add docs for SCV (Issue NMS-14207)

  • Create release notes content for H30 (Issue NMS-14230)

  • Super-admin role required to edit config files (Issue NMS-14242)

  • Add DCB services to 24-hour availability view (Issue NMS-14244)

  • Send events when a backup starts, succeds, or fails (Issue NMS-14245)

  • modifiable OID prefix in BgpSessionMonitor (Issue NMS-14249)

  • Performance of time series integration layer (Issue NMS-14250)

  • DCB - Document impact of DCB on poller thread consumption (Issue NMS-14255)

  • Make org.opennms.netmgt.collectd.strictInterval true by default (Issue NMS-14259)

  • DCB: Whenever Sink pushes config, config type should be Sink instead of default (Issue NMS-14297)

  • DCB UI : Allow Config type to be more than two not just default/running (Issue NMS-14298)

  • DCB: Allow TFTP Port to be Parameterized in Script (Issue NMS-14301)

  • Rename role from ROLE_CONFIG_EDITOR to ROLE_FILESYSTEM_EDITOR (Issue NMS-14309)

  • External Requisition UI: Thread pools adjust upper bound validation (Issue NMS-14345)

Task

  • LoopMonitor & detector (Issue NMS-11042)

  • Document PassiveServiceMonitor (Issue NMS-11052)

  • WmiMonitor (Issue NMS-11065)

  • Investigate Vue3 features (Issue NMS-13393)

  • Investigate Leaflet for OpenNMS geo-map (Issue NMS-13394)

  • Investigate integrate Leaflet with Vue3 for OpenNMS geo map (Issue NMS-13424)

  • Initiate Vue3 code for geo-map (Issue NMS-13431)

  • Geo-map POC: RESTful call to OpenNMS backend with basic auth (Issue NMS-13450)

  • GeoMap: Temporary use existing OpenNMS RESTful APIs to get some real data (Issue NMS-13451)

  • Geo-map: use Vuex to manage nodes info retrieved from OpenNMS (Issue NMS-13454)

  • Geo-map: work with Ben designing RESTful API for Geo-map page (Issue NMS-13455)

  • Geo-map POC: Investigate using AG-Grid to display nodes list on the geo-map page (Issue NMS-13457)

  • GeoMap: Investigate the Vue3 reactivity in geomap page to sync the map, nodes and alarms subpages. (Issue NMS-13471)

  • Document the Grafana Image Renderer plugin’s dependencies (Issue NMS-13484)

  • Geo-Map: Nodes, Alrarm Grid and Leaflet map need to listen to the change of the Monitored Nodes (Issue NMS-13502)

  • Geo-Map: Convert vuex module code to typescript (Issue NMS-13503)

  • Geo-Map: customize the filter for the severity in alarm page (Issue NMS-13505)

  • Geo-map: investigate leaflet marker cluster in vue3 (Issue NMS-13514)

  • geo-map: initiate geo-map typescript project (Issue NMS-13533)

  • Geo-Map: Convert the nodes, alarms grid and map page to typescript and use vue SFC (Issue NMS-13541)

  • Geo-Map: implement the Acknowlege/Unackowlege…​ on Alarm grid page (Issue NMS-13542)

  • Geo-Map: port Geo-Map code to ui-foundation (Issue NMS-13589)

  • Geo-Map: move map center to selected node while double click the row in the Node grid (Issue NMS-13595)

  • geo-map: Have default sort column (Issue NMS-13630)

  • geo-map: "<p>" in column "LOG MESSAGE" (Issue NMS-13633)

  • geo-map: Add count to the Alarms and Nodes tab name (Issue NMS-13639)

  • Geo-Map: add Feather UI to geo-map project (Issue NMS-13665)

  • Update Netty to 4.1.69 (Issue NMS-13721)

  • ssh scripting support for triggering TFTP upload of device configurations (Issue NMS-13899)

  • update jsch (Issue NMS-13902)

  • rest endpoint for device config retrieval (Issue NMS-13914)

  • Build process improvement: Cache node artifacts (Issue NMS-13947)

  • Basic upgrade procedure (Issue NMS-13971)

  • Document housekeeping tasks before upgrade (Issue NMS-13972)

  • Return device config filename when polling (Issue NMS-14017)

  • Review wording of the new Provisiond UI (Issue NMS-14050)

  • Update existing documentation related to provisiond xml file (Issue NMS-14051)

  • Update inline help text for new provisiond UI (Issue NMS-14062)

  • Document HTTP and HTTPS handlers (Issue NMS-14066)

  • Documentation for OIA changes (Issue NMS-14154)

  • Document multi constraint parameter feature addition (Issue NMS-14238)

  • Implement "latest" tag with documentation (Issue NMS-14253)

  • TEST: Provisioning config UI / thread pool sizes (Issue NMS-14263)

  • Test provisioning config UI / external requisitions (Issue NMS-14264)

  • Test web UI file editor (Issue NMS-14267)

  • Test flow thresholding (Issue NMS-14268)

  • Circle ci caching OIA issue (Issue NMS-14291)

  • Latest DCB UX Updates (Issue NMS-14304)

  • Fix UI yarn.lock conflicts with latest updates (Issue NMS-14308)

  • Fix Feather Dialog issue on 0.10.10 (Issue NMS-14316)

  • DCB Rest API: Update History to filter by config type (Issue NMS-14317)

  • DCB UI: History and Compare should only display one config type (Issue NMS-14318)

  • DCB Rest API: Order by Location and Backup Status (Issue NMS-14324)

Enhancement

  • Add a note to remember delete the browsers cache when upgrading OpenNMS (Issue NMS-8504)

  • Two BridgePort Node - Topology Mismatch (Issue NMS-10226)

  • there is no documentation on the instrumentation log reader (Issue NMS-10393)

  • Jira Cloud Support (Issue NMS-13443)

  • Migrate External Auth into docs (Issue NMS-13574)

  • Geo-Map: make Alarms | Nodes tab more apparent (Issue NMS-13605)

  • geo-map: swap the position of "Alarms" and "Nodes" tab and fix typo "label" (Issue NMS-13620)

  • geo-map: disable the hidden filter beside the column name (Issue NMS-13631)

  • geo-map: rename "LAST CAPABILITIES SCAN", "Apply Filter" and "Submit" (Issue NMS-13632)

  • geo-map: Adjust to column width (Issue NMS-13634)

  • Document how to set up SSL with Jetty (Issue NMS-13684)

  • Upgrade Kafka components to 3.0.0 (Issue NMS-13716)

  • Initial framework for new UI developed with Vue3 & FeatherDS (Issue NMS-13720)

  • Update FeatherDS, replace LightDark icon, replace sidebar with navigation rail (Issue NMS-13798)

  • Validate IP Addresses when adding/updating nodes via REST API (Issue NMS-13805)

  • Improve handling of invalid IP addresses during provisioning cycle (Issue NMS-13806)

  • Flesh out Prometheus datacollection shipped config (Issue NMS-13824)

  • Add Health Check Rest API on Sentinel (Issue NMS-13837)

  • Add new UI RapiDoc interface to consume OpenApi spec (Issue NMS-13873)

  • Vue UI Housekeeping (Issue NMS-13876)

  • remove easymock from tests (Issue NMS-13957)

  • Incorporate Device Config Demo feedback (Issue NMS-14080)

  • Availability percentages show too many decimals (Issue NMS-14114)

  • DCB: Verify that service is actually bound (Issue NMS-14127)

  • DCB: Error reporting needs love (Issue NMS-14128)

  • DCB: Debug script execution (Issue NMS-14129)

  • Support for netflowv9 fields ingressPhysicalInterface & egressPhysicalInterface (Issue NMS-14130)

  • DCB: trigger backup via REST should block (Issue NMS-14143)

  • DCB: filename suffix should be globally unique (Issue NMS-14144)

  • DCB: Allow to disable scheduling (Issue NMS-14145)

  • DCB: Backup is triggered after provisioning (Issue NMS-14146)

  • DCB: Expecting dot before filename suffix (Issue NMS-14156)

  • Typo in HttpPostMonitor parameters (Issue NMS-14159)

  • Merge feature/device-config back to develop (Issue NMS-14166)

  • DCB: List devices that never has done a backup (Issue NMS-14167)

  • DCB: Backup is always triggered on minion (Issue NMS-14168)

  • DCB: Getting the device config also persists [RFC] (Issue NMS-14176)

  • Be able to control label sizes for the stress-metrics command (Issue NMS-14194)

  • SCV: Masked credentials should be ignored in update (Issue NMS-14218)

  • SCV: Add Shell command to validate Credentials (Issue NMS-14227)

  • SCV: Cache JCEKS credentials in memory (Issue NMS-14228)

  • Confusing web UI navigation titles (Issue NMS-14247)

  • Expand XmlCollector documented parameters (Issue NMS-14256)

  • Restructure Collector docs file path (Issue NMS-14258)

  • Additional shipped thresholds for OpenNMS-JVM metrics (Issue NMS-14289)

  • Correct errors on Business Service Monitoring docs (Issue NMS-14337)

  • Modify host, zone and requisition name field validation (Issue NMS-14359)

  • Snmp Link Up does not clear Snmp Link Down (Issue NMS-14378)

Upgrade

  • Upgrade FeatherDS to v0.10.2 (Issue NMS-14126)

  • Update all new UI packages to latest versions (Issue NMS-14157)

  • Upgrade to feather 0.10.8 & resolve TS issues (Issue NMS-14236)