Since last time, we worked on docs, CI automation, health check, the Twin API, LLDP in Enlinkd, the new config api, TLSv1.3 support, SNMP metadata handling, SNMPv3 user settings, Karaf 4.3, time-series processing, user code performance, trapoid handling, GeoIP provisioning, flow templates, web redirects, the new feather UI, geomaps, and ReST.

Github Project Updates

Internals, APIs, and Documentation

  • Mark continued to work on refactoring provisioning documentation.
  • I did a bunch of work cleaning up CircleCI stuff to use newer/recommended ubuntu images for tests.
  • Stefan did more work on improvements to the health-check core.
  • Stefan continued working on changes to optimize flow documents.
  • Chandra worked on optimizations in the Twin API.
  • Jesse worked on updating Enlinkd/topology documentation.
  • Antonio worked on some updates to Enlinkd LLDP handling.
  • Freddy continued his work on the config management backend.
  • Dustin updated some backend API code to use TLSv1.3.
  • Patrick did more work on loading existing configs into the database.
  • Christian did more work on refactoring and improving hardware metadata handling for SNMP.
  • Chandra worked on adding JMS support to the Twin API.
  • Dustin added a Kafka implementation for Twin IPC.
  • Jesse worked on supporting multiple SNMPv3 settings per user.
  • Yang Li wrapped up his work updating the embedded Karaf to 4.3.
  • Alejandro worked on some fixes to time-series processing.
  • Jesse fixed a locking performance issue accessing user info.
  • Chandra did some more work on a trapoid handling bug.
  • Christian worked on a GeoIP provisioning adapter.
  • Christian updated flow option template handling to be thread-safe.
  • Bonnie made some updates to the search documentation.

Web, ReST, UI, and Helm

  • Upendra worked on cleaning up redirect handling in some web controller code.
  • Mike did more work on updating the UI proof-of-concept to FeatherDS.
  • Tripti worked on notification support in the new UI.
  • Jane worked on sorting improvements in the Vue geomap.
  • Sagar worked on more configuration editing improvements in the new UI.
  • Christian fixed the V1 monitoring location ReST API sorting defaults to match V2.
  • Farid worked on updating the Vue geomap to use the AwesomeMarker library for map marker improvements.

Contributors

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

  • Alejandro Galue
  • Antonio Russo
  • Benjamin Reed
  • Bonnie Robinson
  • Chandra Gorantla
  • Christian Pape
  • Dino Yancey
  • Dustin Frisch
  • Farid Ahmad
  • Freddy Chu
  • Jane Hou
  • Jesse White
  • Mark Mahacek
  • Mike Rose
  • Patrick Schweizer
  • Sagar Salunkhe
  • Stefan Wachter
  • Tripti Bansal
  • Upendra Guggilam

Breaking Changes in Horizon 29

With Horizon 29 slated for next month, I wanted to take a moment to note some changes that are coming.

Along with a bunch of bug fixes and enhancements, we have a couple of things that are changing significantly that it's worth noting.

  1. OpenNMS will run as non-root by default.
    However, because it is possible to have a significant number of resources
    writing files into the $OPENNMS_HOME/share directory, we will not automatically
    fix ownership of those files on upgrade, because it could take an indeterminate
    amount of time to run chown on the entire shared data tree.

    Be prepared for some downtime while upgrading.

  2. Amazon SQS support for communicating with Minion will be removed.
    RPC communication and the handling of configuration are changing significantly
    enough that we would need to rewrite the SQS component and we don't believe
    it to be in wide deployment, compared to using gRPC or Kafka.

Release Roadmap

Completed October 2021 Releases - Horizon 28.1.1, Meridians 2021.1.5, 2020.1.13, 2019.1.24

In October, we released updates to all OpenNMS Meridian versions under active support, as well as an update for Horizon 28.

Horizon 28.1.1

Release 28.1.1 contains a number of bug fixes and enhancements, including web UI, Minion, Docker, and documentation improvements.

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

The codename for Horizon 28.1.1 is Mikaela Banes.

Meridian Point Releases

Meridians 2019 and 2020 included some fixes in how Docker containers are generated, plus an enhancement to queries used by Helm to support more fields in queries.

Meridian 2021.1.5 also contains a number of other bug fixes and enhancements, including web UI and documentation improvements.

For a list of changes, see the release notes:

Upcoming November Releases

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

The next OpenNMS release day is November 10th, 2021.

We currently expect the first release in the Horizon 29 series, as well as a Meridian 2021 update.

Next Horizon: 29 (Q4 2021)

The next major Horizon release will be Horizon 29.

The current roadmap for Horizon 29 includes the following goals:

  • running as non-root by default
  • refactor the Minion's communication to get rid of out-of-band ReST calls to the OpenNMS core
  • add support for persistence of flows to Cortex

Next Meridian: 2022 (Q? 2022)

With Meridian 2021 recently out, we do not yet have a specific timeline for Meridian 2022.

Expect it to include -- at the very least -- the JDK11 requirement and flow aggregation improvements from Horizon 28.
Ideally it will contain work going into Horizons 29 (and probably 30) if our timeline holds. 😅

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

  • NMS-12999: Update adapters documentation
  • NMS-13316: Location dropdown on Add Node does not sort/filter
  • NMS-13461: Implement ActiveMQ broker for Object replication ( Twin)
  • NMS-13501: IFTTT integration not working anymore
  • NMS-13539: Minion stops processing flows with "Invalid packet: null" until restart
  • NMS-13565: Upgrade Karaf to v4.3.2
  • NMS-13594: Provide basic implementation for patch support for Twin
  • NMS-13607: Migrate Import Handlers documentation to Reference
  • NMS-13619: Show Link State when viewing links on the Enlinkd topology maps
  • NMS-13648: Hardware information not displayed for some devices (SnmpMetadataProvisioningAdapter)
  • NMS-13657: Clean unused data in srv001.txt and srv002.txt