It's time once again for OpenNMS On the Horizon.
Since last time, we worked on documentation (notifications, daemons, "deep dive", Helm), Horizon Stream (Skaffold/operator/gateway infrastructure, Minion, graph API, metrics, containers, device UI), ALEC (situation REST and UI), CircleCI improvements, Docker improvements, datachoices/telemetry, JICMP6, off-heap improvements, SNMP4J, location, config manager, and interface REST, and Helm (entity and flow datasource improvements).
Github Project Updates
Internals, APIs, and Documentation
- Morteza fixed an issue with the minion schema not publishing properly
- Lars worked on user and group counts for the datachoices telemetry
- Morteza merged his main work on dynamic CircleCI config generation
- Mark Frazier did more work on merging Minion gRPC code to Horizon Stream
- I refactored how SSH keypairs are generated in our Docker containers
- Jeffrey-David Kapp and Gerald did more work on Skaffold and operator config in Stream
- I ported the JDK 1.8 and build improvements from JICMP to JICMP6
- Arthur worked on the Minion gateway in Stream using Ignite
- Alexander made some changes to support storing counter-based usage statistics for the datachoices telemetry
- Chandra worked on decoupling RPC from the initial gRPC implementation in Stream
- Freddy has been working on off-heap queue improvements
- Emily worked on daemon and notifications documentation
- Thomas started getting the graph API into Stream
- Bonnie and Mark Mahacek worked on Deep Dive documentation
- Chandra optimized the code path for pushing metrics on down services in Stream
- Jason worked on keycloak and ui ingress in Stream
- Łukasz did some refactoring on gRPC, twin, and IPC code in Stream
- Mark Frazier started moving SNMP code from the core into the Stream Minion
- Łukasz worked on some observability metrics in Stream
- Christian added smoke tests for KPIs
- I fixed our circleci pre-build to be smaller/faster
- I continued my work on moving our Docker images to use build tarballs rather than relying on packaging infrastructure
- Gerald refactored some Docker container image workflows in Stream
- Sean worked on updating to the latest SNMP4J
- Bonnie worked on updating our doc builds to use a new theme bundle
Web, REST, UI, and Helm
- Chinh Le and Mike Rose continued their work on the device UI in Horizon Stream
- Chandra worked on enabling a REST service for location information in Stream
- Anya started adding timelines to the ALEC situation UI
- Dmitri worked on partial-update support in the config manager REST interface
- Alberto fixed an issue with using fs:fid in Helm's flow interface code
- Alberto worked on fixing up an issue with node filtering in Helm's entity datasource
- Benjamin Janssens worked on situation retrieval changes in the ALEC REST interface
- Anya did some other fixes and improvements to alarm/situation handling in the ALEC UI
- Mark Mahacek worked on some Helm documentation improvements
- Rob worked on test cases for the location REST service
- Alberto added support for multiple filters for nodes in Helm's flow and entity datasources, plus regex support for flow nodes
- Alberto worked on adding nodeID to the SNMP interface model in Helm and in OpenNMS's REST interface
Thanks to the following contributors for committing changes since last OOH:
- Alberto Ramos
- Mark Frazier
- Anya Rybalova
- Chinh Le
- Łukasz Dywicki
- Benjamin Reed
- Dmitri Herdt
- Mike Rose
- Emily Marsh
- Jason Berry
- Morteza Ershad-Manesh
- Yang Li
- Thomas Bigger
- Benjamin Janssens
- Gerald Humphries
- Bonnie Robinson
- Sean Torres
- Arthur Naseef
- Freddy Chu
- Alexander Chadfield
- Mark Mahacek
- Chandra Gorantla
- Rob Ellis
- Christian Pape
- Jeffrey-David Kapp
- Lars Schreiber
- James Hutchinson
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 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
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.
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
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.
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.
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!
We will be exhibiting at Open Source Experience in Paris, this year.
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.
Resolved Issues Since Last OOH
- ALEC-126: Worflow and Visualization Design for New Situation Details-LF
- ALEC-141: Dev | Situation Storage: Where/how to store. (M)
- ALEC-171: Bug when accepting or rejecting situtations when alarmId != situationId
- HELM-338: Entity nodeFilter is not working
- HELM-341: Cleanup Helm Documentation formatting
- HS-270: Activity Browser: UX research & sandbox
- HS-271: Activity Browser: card sorting for card types & filters
- HS-272: Activity Browser: design options
- HS-273: Activity Browser: activity card anatomy & structure
- HS-291: FE - Integrate Creation of Device/ Retrieval into UI
- HS-292: Integrate Metrics End point with UI
- HS-298: Investigate current topo apis and how we might bring them into Stream
- HS-307: Minion RPC Manager should be decoupled from gRPC
- HS-308: Add Rest/GraphQL API to list Monitoring locations
- HS-309: Integrate locations API into UI
- HS-312: Fix skaffold variables
- HS-314: Derive Device Status from ICMP/SNMP Metrics
- HS-325: Keycloak login screen is missing favicon
- NMS-13821: [CircleCI] - remove compilation from tarball-assembly step
- NMS-13911: Please update the copyright year on the docs page!
- NMS-14445: Create OpenNMS style guide
- NMS-14452: Release artifact for H30.0.0 is the same as for Java doc
- NMS-14459: Generate main yaml file dynamically
- NMS-14487: Add KPIs for user and group counts to datachoices telemetry
- NMS-14575: Set up basic Java CLI app to read/process MOS CDR files
- NMS-14591: Stored XSS
- NMS-14603: Create a shared, non-volatile storage for system KPIs
- NMS-14613: Quick Start: Login and create a user
- NMS-14627: Add smoke test for new KPIs
- NMS-14637: Remove footer content from opennms/docs
- NMS-14643: change or remove how Docker SSH keys are generated
- NMS-14649: OpenNMS Minion RPC echo doesn't respond within the 1.5 minute window
- NMS-14651: Update Vue UI Packages
- NMS-14652: Quick Start: move content into Deep Dive section
- NMS-14662: Dynamic Yaml Generation, Enable running OCI jobs when changes are detected
- NMS-14665: Dynamic Yaml generation: Duplicate build entry when we enable flaky test and doc jobs