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

Since last time, we worked on documentation (quick start guide, ALEC, partial config updates, cortex time-series), Horizon Stream (notifications, unit/integration test, ignite detector client, operator, Minion gRPC, Grafana, Keycloak, map UI, widgets, trap processing), SNMP metadata provisioning, ALEC (release work and UI), dynamic CI config, datachoices (notifications and outages, poller fixes), Enlinkd collection scheduling, Docker, offheap storage, dependabot updates, filter rules, Sonar, OpenTelemetry, and Helm.

Github Project Updates

Internals, APIs, and Documentation

  • Sean updated the SNMP metadata provisioning adapter to support incremental changes in addition to replacing all metadata
  • Bonnie and Emily did more work on the quick start guide
  • Benjamin Janssens worked on prepping a new ALEC release, including doc build cleanups and fixing Sonar issues
  • Morteza made some tweaks to the circleci dynamic config
  • James continued his work on notifications support in Horizon Stream
  • I fixed some docker container images relating to ping capabilities
  • Pushkar worked on notifications and outages for datachoices telemetry
  • Mark worked on the ignite detector client in Stream
  • Antonio continued his work refactoring Enlinkd's collection scheduling
  • Gerald got the ignite detector integrated into Skaffold and worked on some other operator fixes in Stream
  • Łukasz refactored some service code for spring injection in Stream
  • Jeffrey-David Kapp did more work on operator startup config for Stream
  • I did some other tuning of docker images
  • Thomas added some asset fields to the database in Stream
  • Freddy did more work on offheap storage improvements
  • Dmitri worked on updating the documentation related to partial config updates
  • Bonnie wrapped up doc changes for the cortex time-series plugin
  • Mark Frazier worked on Minion gRPC routing in Stream
  • Dustin worked on support for generics in the twin API
  • Alexander worked on a fix for accessing the poller config in the device config service
  • Jason worked on enabling github action test runs in Stream
  • I cleaned up the default changes in a jsoup dependabot update
  • Jason tuned memory consumption in the default Stream setup to be less hungry
  • Jeffrey-David Kapp added Grafana and Keycloak to the Kubernetes CRD in Stream
  • I did more work on backporting circle and docker changes to H30 and Meridian 2022
  • Dustin refactored some of the code for how filter rules are tracked
  • I fixed some issues triggered by Sonar as I prepped to make sure sonar submissions are working properly
  • DJ continued his work on OpenTelemetry integration

Web, REST, UI, and Helm

  • Chinh Le continued his work on the map in Horizon Stream
  • Chinh Le started on a device status UI for Stream
  • Mike Rose did more work on improving widgets in the Stream UI
  • Alberto wrapped up a bunch of Helm improvements
  • Chandra worked on REST APIs for event-driven discovery from traps in Stream
  • Anya worked on tests and coverage in the ALEC UI

Contributors

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

  • DJ Gregor
  • Jason Berry
  • Mark Frazier
  • Chinh Le
  • Dustin Frisch
  • Łukasz Dywicki
  • Alexander Chadfield
  • Benjamin Reed
  • Bonnie Robinson
  • Morteza Ershad-Manesh
  • Chandra Gorantla
  • Antonio Russo
  • Jesse White
  • Thomas Bigger
  • Jeffrey-David Kapp
  • Benjamin Janssens
  • Emily Marsh
  • James Hutchinson
  • Dmitri Herdt
  • Gerald Humphries
  • Anya Rybalova
  • Pushkar Suthar
  • Freddy Chu
  • Sean Torres
  • Yang Li
  • Alberto Ramos
  • Rob Ellis
  • Mike Rose

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

OpenNMS.js 2.5.0 Released

OpenNMS.js 2.5.0 contains a bunch of dependency updates including a move to core-js v3 for compatibility, as well as a few build system cleanups, fixes for querying SNMP interfaces by node ID and a query fix for 0-indexed enums.

Upcoming September Releases

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

The next OpenNMS release day is September 14th, 2022.

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

Next Horizon: 31 (Q4 2022)

The next major Horizon release will be Horizon 31.

It will contain a number of improvements, including:

  • a refactoring of flow APIs including support for some flow hooks in the plugin API (plugin API 1.1.0+)
  • major improvements and refactoring in Enlinkd's bridge topology mapping and collection scheduling
  • more stuff, which I haven't had a chance to go back and enumerate yet, watch this space :D

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

Open Source Summit Europe - Dublin, Ireland - September 13th through 16th

We are a silver sponsor this year for Open Source Summit, and will be hosting a booth in the exhibition area.

Craig Gallen and some of the crew from Belfast will be there, so pop on by and say hello.

Open Source Day 2022 - September 16th

The OpenNMS Group is proud to support Grace Hopper Conference's Open Source Day (OSD) 2022, and our very own Sandy Skipper is serving on the OSD Steering Committee.

OSD is an all-day hackathon in which participants of all skill levels learn about open source while contributing to projects designed to solve real world problems.
The goal is to celebrate and encourage women in open source.

OSD will take place as a pre-event on Friday, September 16 from 8am - 3pm PDT. Participation is open to anyone who has a GHC registration ticket (in-person or virtual).

For more information, contact Sandy Skipper or see the OSD site.

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

In addition to our involvement in Open Source Day, Veena Kannan will be presenting a virtual lightning talk at the Grace Hopper Conference titled "Open Source 101 – Myth Buster Edition" at the Grace Hopper Celebration.

Her talk will be Thursday the 22nd, at 11:00am.

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

All Things Open is local to our headquarters, and is a truly fantastic event.
We love it so much, we will be the exclusive live stream sponsor. 😉

We'll also have a booth in the exhibition hall.
A bunch of OpenNMS folks will be attending and/or helping out in the booth, so please 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

  • ALEC-179: Tests on Situation Detail and situation metrics
  • HELM-334: Entity Datasource does not provide node information
  • HELM-345: Alarm Details missing TroubleTicketState if state is 0
  • HS-201: Backend: New Notification Service
  • HS-203: DevOps: New Notification service
  • HS-241: Add Cucumber IT for validating minion end point
  • HS-286: Add Trapd support in Stream
  • HS-295: Integrate KeyValueStore ( PostgresJsonStore) into Horizon Stream
  • HS-296: Add Config Service
  • HS-299: Setup instructions for local-sample dir
  • HS-304: FE - Display list of devices in the geomap table
  • HS-329: Tag / Surveillance Category Membership View / Edit Panel and Add to Placeholder Device Status Page
  • HS-334: Add Grafana DB config to Devops and test default dashboard.
  • HS-335: FE - Widget component & grid layout
  • HS-336: Stats: Local Environment setup in Docker for HS Stats testing
  • HS-345: BFF: Impove the BFF performace
  • HS-346: FE - Add new device status route / container component
  • HS-347: Configure in memeory cache in BFF for backend request.
  • HS-352: Nonblock requst from BFF to platform core
  • HS-356: Propagate Skaffold --skip-tests flag into custom maven builds
  • HS-358: Use Liquibase for notification database
  • HS-360: UX competitive analysis board in Figjam on Kentik
  • HS-378: BFF migration to Webflux broke context path config
  • HS-383: Add all images we build to HS CRD
  • NMS-13864: Package description for Minion and Sentinel reference Wiki
  • NMS-14360: BmpIT flapping
  • NMS-14522: Add CAP_NET_BIND_SERVICE capability to the java binary to bind privileged ports
  • NMS-14582: Add KPI for DCB cumulative web UI entries
  • NMS-14615: Quick Start: Import inventory
  • NMS-14623: Add KPIs for open notifications and outages to datachoices telemetry
  • NMS-14624: Add KPI for application count to datachoices telemetry
  • NMS-14648: Rename OIA to OPA in git repo
  • NMS-14667: Official docs readiness for Cortex TSS plugin release
  • NMS-14728: Add Elasticsearch 7.17.6 to Drift plugin versions