It's time once again for OpenNMS On the Horizon.

Since last time, we worked on documentation (alarms, collection, device config backup, provisioning), the secure credentials vault (OIA and metadata support), Karaf dependency cleanup, wrapping up device config backup features, non-root fixes, Horizon Stream, Flows, dependency updates, Datachoices, Thresholding metadata, Helm filters, REST, and OpenNMS.js.

Github Project Updates

Internals, APIs, and Documentation

  • Bonnie worked on device config backup UI and provisioning documentation
  • Patrick did some work on exposing the secure credentials vault to OIA plugins
  • Chandra worked on changes to the JCEKS implementation of SCV
  • I continued continuing my work on improving our spring (and other) dependencies in Karaf
  • Dustin worked on DCB end-to-end tests
  • Alex made some improvements to requisition foreign-source name validation
  • Chandra did some fixes to the DCB monitor's behavior
  • I fixed a few issues with validation of non-root access during install
  • Dustin added support for SSH host keys in the DCB SSH code
  • Jesse removed the enforcer plugin from the OIA plugin archetype
  • Gerald worked on a PoC to replace Eventd's transport with Kafka streams
  • Christian added some extra service-binding validation to the DCB service
  • Christian did more work on ingressPhysicalInterface/egressPhysicalInterface support in flows
  • Chandra worked on metadata-handling for SCV data
  • I worked on upgrading Vaadin to 8.14.x
  • Christian worked on file suffix handling in DCB
  • Jason worked on figuring out a good dev environment config for horizon stream and kubernetes
  • Mark cleaned up some Alarmd, collection, and HTTPS documentation
  • Yang Li and Arthur worked on Keycloak integration in horizon stream
  • Chandra added support for blocking requests in DCB
  • Freddy did more work on arm64 image support for Horizon and Sentinel
  • Freddy worked on some changes to thresholding support for metadata
  • Jesse worked on updating the datachoices plugin to support sending additional statistics relating to situations, locations, minion, sentinel, and Karaf features

Web, ReST, UI, and Helm

  • Yang Li worked on prototyping graphql support in horizon stream
  • Mike did some more polish and improvements to the DCB vue UI
  • Alberto continued his work on wildcard support in certain types of Helm filters
  • Scott made some improvements to the DCB REST API (and the DAO serving it)
  • Pushkar did more work on validation of hardware inventory REST input
  • I cleaned up a bunch of dependencies in OpenNMS.js and Helm


Thanks to the following contributors for committing changes since last OOH:

  • Jesse White
  • Chandra Gorantla
  • Freddy Chu
  • Pushkar Suthar
  • Mark Mahacek
  • Arthur Naseef
  • Benjamin Reed
  • Patrick Schweizer
  • Mike Rose
  • Bonnie Robinson
  • Alex May
  • Jason Berry
  • Yang Li
  • Alberto Ramos
  • Gerald Humphries
  • Scott Theleman
  • Alexander Chadfield
  • Maxim Brener
  • Christian Pape
  • Dustin Frisch

Releases and Roadmap

Upcoming May Releases

OpenNMS is on a monthly release schedule, with releases happening on the second Wednesday of the month.

The next OpenNMS release day is May 11th, 2022.

We currently expect the first release of Horizon 30, plus Meridians 2019 through 2022.

Next Horizon: 30 (Q2 2022)

The next major Horizon release will be Horizon 30.

Horizon 30 is currently expected to have the following features:

  • the start of a new Vue-based UI using the Feather Design System
  • thresholding support for Flow data
  • initial work moving configuration from XML files to the database -- the first config file implemented on top of the new system will be provisiond-configuration.xml
  • support for running OIA plugins on Minion and Sentinel
  • support for backing up router configuration files

Next Meridian: 2023 (Q1 2023)

Meridian 2023 is early in its development cycle, but you can expect it to contain, at the very least, the work that's going into Horizon 30.


Note that this is just based on current plans; dates, features, and releases can change or slip depending on how development goes.

The statements contained herein may contain certain forward-looking statements relating to The OpenNMS Group that are based on the beliefs of the Group’s management as well as assumptions made by and information currently available to the Group’s management. These forward-looking statements are, by their nature, subject to significant risks and uncertainties.

...We apologize for the excessive disclaimers. Those responsible have been sacked.

Mynd you, møøse bites Kan be pretti nasti...

We apologise again for the fault in the disclaimers. Those responsible for sacking the people who have just been sacked have been sacked.

Until Next Time…

If there’s anything you’d like me to talk about in a future OOH, or you just have a comment or criticism you’d like to share, don’t hesitate to say hi.

- Ben

Resolved Issues Since Last OOH

  • ALEC-100: Present Current Useful Telemetry Metrics and Gap Analysis
  • HELM-309: Grafana Datasource expressions - Performance
  • NMS-13968: Retroactively tie in the endpoints
  • NMS-14005: Multi parameter constraints in the rules engine implementation
  • NMS-14012: Add End-to-End Integration Test for Device Config Monitor
  • NMS-14032: install script fails if an OpenNMS directory contains root-owned lost+found directory
  • NMS-14121: Support new role for viewing and performing manual Device Backups
  • NMS-14127: DCB: Verify that service is actually bound
  • NMS-14131: DCB: UI Documentation
  • NMS-14134: CVE-2022-22965: Spring RCE in Data Bindings
  • NMS-14144: DCB: filename suffix should be globally unique
  • NMS-14156: DCB: Expecting dot before filename suffix
  • NMS-14163: DCB: Monitor should return poll status based on last retrieval
  • NMS-14167: DCB: List devices that never has done a backup
  • NMS-14169: IPFIX: Also support ingressPhysicalInterface and egressPhysicalInterface for input and output ifIndex
  • NMS-14170: DCB: add messages in UI to indicate the lack of the new DCB role
  • NMS-14173: Add SCV Rest API
  • NMS-14175: DCB: New UI display for Config Type
  • NMS-14182: Fix formatting in alarmd documentation
  • NMS-14190: Fix new UI back button test failure
  • NMS-14200: DCB: Configuration Management from Main menu lands on Nodes page in New UI

Jump to section

About the Author: RangerRick

Principal Software Engineer. Manages the release process of OpenNMS Horizon and Meridian, and a bunch of other stuff.