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

Since last time, we worked on documentation for Minion Kafka tuning, Enlinkd bridge topology, CircleCI optimizations, Guava, Kafka metrics, Horizon Stream (Keycloak integration, Kubernetes operator, Skaffold, Minion support, UI improvements), runtime statisticts for requisition and OIA info, time-series off-heap storage, JMX datacollection, test fixes, flows, XML datacollector, Newts + Cassandra 4, login UI, event advanced search, and ALEC.

Github Project Updates

Internals, APIs, and Documentation

  • Mark Mahacek worked on docs for Minion Kafka tuning.
  • Antonio did more work on Enlinkd bridge topology improvements.
  • Morteza continued his work on CircleCI pipeline optimization.
  • I wrapped up the first part of our work upgrading our embedded Guava.
  • Alex fixed an issue with the Kafka metrics provider persisting collections it shouldn't.
  • Jeffrey worked on wrapping up initial Keycloak integration in Horizon Stream.
  • Jason did more work with the Kubernetes operator and Skaffold for self-hosted runtimes.
  • Alex added requisition info and installed OIA plugins to the datachoices stats.
  • Patrick did more work on off-heap serialization of time-series data in OIA.
  • Mark Mahacek added a JMX datacollection config for Eventd statistics.
  • Dino added ActiveMQ queue size to the JMX datacollection config.
  • Chandra continued his work on integrating the Minion into Horizon Stream.
  • I worked on potential timing fixes for some sink API tests.
  • Alexander fixed a timing issue in the BMP smoke test.
  • Christian did more work on handling flow applications that don't have traffic.
  • I fixed an issue with a backport of duplicate event config handling.
  • Christian fixed the XML datacollector to handle mappings when using JSON in addition to the existing XML support.
  • Jesse did some initial work on upgrading Newts to use the Cassandra 4 Java driver.

Web, REST, UI, and Helm

  • Chinh Le worked on the device/minion UI in Horizon Stream.
  • Lars did a little cleanup in the login page relating to autocomplete.
  • Yang Li did more work on the device REST API in Stream.
  • Mike Rose did more work on the Stream login page, as well as default UI routes.
  • Mike Rose made some device UI layout improvements in Stream.
  • Thomas wrapped up his changes for supporting inverting some search terms in event advanced search.
  • Anya added alarm count to the ALEC UI.

Contributors

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

  • Jesse White
  • Benjamin Janssens
  • Christian Pape
  • Morteza Ershad-Manesh
  • Yang Li
  • Benjamin Reed
  • Antonio Russo
  • Alexander Chadfield
  • Jason Berry
  • Alex May
  • Scott Theleman
  • Jeffrey-David Kapp
  • Chinh Le
  • Anya Rybalova
  • Thomas Bigger
  • Chandra Gorantla
  • Mark Mahacek
  • Dino Yancey
  • Pushkar Suthar
  • Mike Rose
  • Patrick Schweizer
  • DJ Gregor
  • Gerald Humphries
  • Lars Schreiber

Coming Soon: JIRA Migration

We will be migrating our JIRA issue-tracker from a self-hosted version to Atlassian's cloud version.
I don't have a timeline for this yet, but expect it in the coming months.

If you currently have an account at the OpenNMS issue tracker your account should already be migrated to JIRA Cloud, but you will need to perform a password reset with the "Can't log in?" link before you can log in.

Releases and Roadmap

Upcoming August Releases

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

The next OpenNMS release day is August 10th, 2022.

We currently expect updates to Horizon 30 and all supported Meridians.

Next Horizon: 31 (Q4 2022)

The next major Horizon release will be Horizon 31.

Since Horizon 30 was only recently released, there is nothing concrete on the roadmap for Horizon 31 yet.
Stay tuned for details when they come.

Next Meridian: 2023 (Q1 2023)

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

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.

Calendar of Events

SCaLE - Los Angeles, California - July 28th through 31st, 2022

The OpenNMS Group will be an exhibitor and Gold Sponsor at the Southern California Linux Expo in Los Angeles, California, from July 28th through 31st.
Stop by our booth and say hi, and don't miss Jeff Gehlbach's presentation on Sunday, titled Network Visibility: The Heart of Modern Monitoring.

Grace Hopper Celebration - Orlando, FL - September 20th through 23rd

Veena Kannan will be presenting a virtual lightning talk titled "Open Source 101 – Myth Buster Edition" at the Grace Hopper Celebration.

We don't know the day nor time of the presentation yet, more details to come.

All Things Open - Raleigh, NC - October 30th through November 2nd, 2022

The OpenNMS Group will be a live stream sponsor for All Things Open, and will have a booth in the exhibition hall.
A bunch of OpenNMS folks will be attending or helping out in the booth, so be sure to say hi!

Open Source Monitoring Conference - Nuremberg, Germany - November 14th through 16th

The OpenNMS Group is a gold sponsor of OSMC this year, and will have a booth as well.
Stop by and say hello!

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

  • HS-137: Document development guidelines
  • HS-145: Integrate Operator with User Self-host non-dev local env
  • HS-148: Replicator unable to make changes at cluster level
  • HS-179: Keycloak with Custom Image
  • HS-188: Dev Environment: Add the default Minion to Skaffold
  • HS-190: Backend: Provide endpoints for retrieving device nodes and Minion nodes
  • HS-195: Backend: Create an "Add Device" endpoint
  • HS-206: Frontend: Minions table endpoint integration
  • HS-211: Add grafana to local-samples/ build.
  • HS-215: Put all services under one domain name separated by paths
  • HS-216: Put ssl self-signed cert for all services
  • HS-228: activity browser redesign
  • HS-235: Create REST API endpoints in Platform for devices
  • HS-236: Fix the external IT test error due to the SSL certificate
  • HS-238: Debugging and fixing pipeline
  • HS-240: FE - Adapt UI to new provided wireframe (Device/Minions table)
  • HS-244: Add dynamic device list on minion selection
  • HS-245: Add Metrics to Minion RPC
  • HS-247: Debug Operator Build in CI-CD Pipeline
  • HS-250: FE - Mods UI to GT acceptance
  • NMS-13981: [Web] - Weak Password Policy
  • NMS-13983: [Web] - Password field with autocomplete enabled on Login page
  • NMS-14287: DCB: Add Rest End point for deletion of Device Configs
  • NMS-14429: Flow Thresholding: persist zero traffic rate
  • NMS-14470: Kafka metrics producer persists unpersisted collectionsets
  • NMS-14476: Negate search terms in event advanced search
  • NMS-14485: Add KPIs for business service count to datachoices telemetry
  • NMS-14486: Add KPIs for count of total requisition and requisitions with custom FSD to datachoices telemetry
  • NMS-14523: New UI: Link to license points to gnu.org/licenses instead of a specific license
  • NMS-14529: Create and Initialize project repository
  • NMS-14536: Initial CI pipeline
  • NMS-14547: Upgrade to Feather 0.10.15
  • NMS-14559: Mappings are not correctly handled in the JSON Collection Handler