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

Since last time, we worked on config manager migrations and importing, flow docs, protobuf updates, non-root validation, topology provider and wiki migration docs, CI improvements, device config backup, Karaf tools and upgrade, TFTP support, flow thresholding, resource and health REST endpoints, vue charting, Helm and OpenNMS.js.

Github Project Updates

Internals, APIs, and Documentation

  • Pushkar and Freddy worked on migrating the notification, SNMP, and WMI configs to the new config manager
  • Bonnie worked on improving flow documentation
  • Patrick did some more work on cleaning up the config manager import process
  • Chandra updated our protobuf code to the latest version
  • I fixed a bug in non-roow ownership validation in the installer
  • Freddy improved some of the property handling in the config migration
  • Marcel made updates to the asset topology provider docs
  • Marcel migrated some docs from the old wiki
  • I reworked some of our CircleCI workflows to avoid full builds when unnecessary
  • Chandra did more work on backend support for device config backups
  • I updated our Karaf container(s) to include Jeff's Karaf CLI IP address range generator tool
  • Stefan updated our SSH integration to use a newer implementation
  • Stefan did some more work on TFTP support for device backup
  • Julian worked on publishing docker images to Azure
  • Yang Li updated our embedded Karaf to 4.3.6
  • Chandra worked on integrating the device config backup tools to the poller
  • Christian added some graph definitions for flow thresholds

Web, ReST, UI, and Helm

  • Stefan made some optimizations in the node resource REST endpoint
  • Stefan implemented support for the optimized node resource endpoint in Helm and OpenNMS.js
  • I worked on cleaning up Helm and OpenNMS.js's dependencies
  • Mike worked on charting support in the new featherds UI
  • Alberto worked on wrapping up support for expanding healthcheck REST endpoint

Contributors

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

  • Freddy Chu
  • Patrick Schweizer
  • Chandra Gorantla
  • Yang Li
  • Alberto Ramos
  • Julian Buliga
  • Christian Pape
  • Dustin Frisch
  • Stefan Wachter
  • Pushkar Suthar
  • Bonnie Robinson
  • Benjamin Reed
  • Upendra Guggilam
  • Mike Rose
  • Dmitri Herdt
  • Marcel Fuhrmann

Release Roadmap

Completed January 2022 Releases - Horizon 29.0.5, Meridians 2021.1.10, 2020.1.18, 2019.1.29

In January, we released updates to all OpenNMS Meridian versions under active support, as well as Horizon 29.

Horizon 29.0.5

Release 29.0.5 contains a number of bug and security fixes, as well as a few enhancements.

It include an update to the latest Log4j2 release. It is not believed that we are vulnerable to the Log4j issues fixed in these newer releases, but are updating anyway just to be sure.

For a high-level overview of what has changed in Horizon 29, see What’s New in OpenNMS Horizon 29.

The codename for Horizon 29.0.5 is Kingfisher.

Meridian Point Releases

Meridians 2019.1.29 and 2020.1.18 contain a Log4j version bump, plus an NPE fix in the topology UI.

Meridian 2021.1.10 adds on top of that some Javascript dependency updates and doc improvements.

For a list of changes, see the release notes:

Helm and OpenNMS.js

After adapting to the new process for getting plugins validated, Helm 7.3.0 is now available in the official Grafana plugin registry, and there should be less lag going forward getting updates released.

Additionally, OpenNMS.js 2.4 is now available, which adds support for optimized node resource querying, and a ton of depedency updates to keep up with upstream node security patches.

Upcoming February Releases

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

The next OpenNMS release day is February 9th, 2022.

We currently expect updates to Horizon 29 and all supported Meridian releases.

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
  • support for running OIA plugins on Minion and Sentinel
  • support for backing up router configuration files

Next Meridian: 2022 (Q1 2022)

The current expectation is that we will release Meridian 2022 in Q1 of next year. It will be based on Horizon 29 plus any bug fixes that happen between November and the Meridian release.

Disclaimer

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-297: Create Helm Docker Test Infrastructure
  • HELM-303: Retrieve partial resources by performance datasource
  • JS-51: feature toggle for the select resources endpoint
  • NMS-13441: TimescaleDB extension can't added to existing opennms DB.
  • NMS-13754: Daemon config file docs missing info
  • NMS-13775: Create Config Backup DB table and DAO layer
  • NMS-13819: [CircleCI] - separate build-ui build step
  • NMS-13820: [CircleCI] - move java docs generation from tarball-assembly to build step
  • NMS-13837: Add Health Check Rest API on Sentinel
  • NMS-13860: Permission check in ./install -dis flags unwriteable files in the .git directory - redux
  • NMS-13863: Support an endpoint that allows to access parts of resources
  • NMS-13883: Add graphics to flows documentation
  • NMS-13885: Minion Kafka docs missing reference to custom.system.properties
  • NMS-13889: Upgrade protobuf-java version