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

Since last time, we did more work on documentation (upgrade/backup/restore, provisioning UI, REST), device config backup (tests, metadata, monitor status, UI), REST API improvements, arm Docker images, dependency version cleanups, criteria API, license cleanup, Spring dependencies, flow tracing, JICMP, minion/sentinel non-root improvements, datacollection from events, JIRA client updates, timeseries tag matching, JavaScript dependency updates, topology UI, wildcard resources in Helm perf-ds, and cron expression editing.

Github Project Updates

Internals, APIs, and Documentation

  • Chandra worked on support for device config backup (DCB) in OSGi
  • I fixed an issue with a circular dependency between applications and monitored services in the REST API
  • Chandra fixed up some testing issues for DCB
  • Bonnie and Marcel worked on upgrade/backup/restore documentation
  • Freddy worked on arm docker image support for Horizon and Sentinel
  • Dustin cleaned up some metadata handling in DCB
  • I worked on cleaning up a bunch of mismatched dependency versions
  • Pushkar made improvements to the criteria API to allow for multiple queries ("multiAnd") on joined many-to-many tables like event parameters
  • I moved the old "request tracker" code out of the archived opennms-lib repo and back into OpenNMS core
  • I worked on cleaning up our Spring dependencies
  • Dustin worked on adding some tracing to flow handling
  • I released JICMP 3.0.0 (now requires Java 8, re-licensed to LGPLv3, publish API docs)
  • Alex fixed Minion and Sentinel to use systemd capabilities and run as opennms by default
  • Freddy worked more on supporting collecting data from events
  • Chandra made some fixes to the jira client dependencies
  • Patrick and Jesse worked on updating the timeseries tag matchers to match node resources
  • Chandra changed the DCB monitor to return up/down status based on the last retrieval attempt

Web, ReST, UI, and Helm

  • Mike worked on a bunch of improvements and feedback for the device config backup UI
  • I fixed/updated a bunch of javascript dependencies in the OpenNMS core and OpenNMS.js
  • Mike did more topology work in the new UI
  • Chinh Le did some dependency cleanup in the new UI
  • Alberto worked on basic support for using wildcards in resources in the Helm performance datasource
  • Alberto worked on supporting swapping ingress and egress in Helm flows for weird devices
  • Scott worked on back- and frontend improvements for querying DCB configs
  • Alex fixed rendering availability percentages in the new UI
  • Chinh Le worked on cron expression validation in the new UI
  • Bonnie worked on provisioning UI wording and documentation
  • Dustin made some changes to the DCB event REST model
  • Pushkar worked on validation of hardware inventory REST data


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

  • Benjamin Reed
  • Jesse White
  • Patrick Schweizer
  • Chandra Gorantla
  • Bonnie Robinson
  • Freddy Chu
  • Chinh Le
  • Alexander Chadfield
  • Alex May
  • Pushkar Suthar
  • Christian Pape
  • Mike Rose
  • Alberto Ramos
  • Scott Theleman
  • Dustin Frisch
  • Marcel Fuhrmann
  • Mark Mahacek
  • Stefan Wachter
  • Maxim Brener

Releases and Roadmap

Upcoming April Releases

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

The next OpenNMS release day is April 13th, 2022.

We currently expect an update to Horizon 29, 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: 2022 (Q1 2022)

Meridian 2022 binaries are ready and we are prepping for release on schedule, at the end of this month.

If you want a taste of what's coming, the documentation is available on

Meridian 2022 is based on Horizon 29.


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

  • HELM-305: Helm's Flow datasource cannot filter "NaN" results, breaking Grafana reduce expressions
  • NMS-11747: Documentation for all pollers misses RRD config parameter
  • NMS-13833: Class not found exception in web.log for the GeocoderServiceManager
  • NMS-13946: Investigate CircleCI storage usage
  • NMS-13972: Document housekeeping tasks before upgrade
  • NMS-14013: Add introduction for Device Config Backup feature
  • NMS-14016: Can't set capabilities in Minion systemd unit
  • NMS-14046: DCB Rest API: Ensure various sorting/filtering criteria work
  • NMS-14086: Resource Graphs disfunction
  • NMS-14089: DCB: Create UI for comparing 2 backup configurations
  • NMS-14105: clean up JAXB dependencies
  • NMS-14107: DeviceConfig monitor fails to load on OpenNMS
  • NMS-14110: DCB UI Changes based on latest Rest API
  • NMS-14112: DCB Rest API Updates
  • NMS-14114: Availability percentages show too many decimals
  • NMS-14115: Broken links in docs
  • NMS-14116: Update Monitor/Collector Registry to not complete Future with timeout
  • NMS-14117: Fix for NMS-13887 did not make it to Core
  • NMS-14123: Sentinel debian package fail to install
  • NMS-14126: Upgrade FeatherDS to v0.10.2
  • NMS-14141: DCB: UI changes to align with latest Rest API
  • NMS-14147: DCB: API endpoint renaming
  • NMS-14151: DCB: Rest API and UI: Fixes to device backup
  • NMS-14153: DCB: Multiple Device Backup from UI/Rest
  • NMS-14157: Update all new UI packages to latest versions
  • NMS-14164: Fix flaky test HeartbeatConsumerIT

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.