Copyright © 2004-2019 The OpenNMS Group, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html OpenNMS is the creation of numerous people and organizations, operating under the umbrella of the OpenNMS project. The source code is published under the GNU Affero GPL, version 3 or later and is Copyright © 2002-2020 The OpenNMS Group, Inc.

The current corporate sponsor of OpenNMS is The OpenNMS Group, which also owns the OpenNMS trademark.

Please report any omissions or corrections to this document by creating an issue at http://issues.opennms.org.

What’s New in OpenNMS Horizon 26

System Requirements

  • Java 8 through 11: OpenNMS Horizon 26 runs on JDK 8 through 11. We recommend the most recent version of OpenJDK 11.

  • PostgreSQL 10 or higher: Horizon 26 requires any supported version of PostgreSQL 10 or higher.

Breaking Changes

Flow Classification

The Flow Classification UI accepted invalid ip address values, e.g. 10,192.1,168.1,5.1-160. When upgrading OpenNMS Horizon existing Flow Classification Rules may be considered invalid. In this case they are silently ignored by the Flow Classification Engine. In order to assure no invalid Flow Classification Rules exist, please run the OSGi shell command opennms-classification:list-invalid-rules to list all invalid rules. If there are any invalid rules, they must be manually fixed using the Flow Classification UI. For more details, refer to issue NMS-12422.

Karaf Shell Command Changes

All of the custom Karaf shell commands have now been updated to use a common scope of opennms. This was done in order to make it easier to find and enumerate the commands.

Mapping from previous to new commands is as follows:

Previous Command New Command Comments

opennms-provision:detect

opennms:detect

opennms-provision:list-detectors

opennms:list-detectors

opennms-provision:show-import

opennms:show-import

opennms-provision:import-requisition

opennms:import-requisition

opennms-dns:lookup

opennms:dns-lookup

opennms-dns:reverse-lookup

opennms:dns-reverse-lookup

opennms-ping:sweep

opennms:ping-sweep

opennms-ping:ping

opennms:ping

opennms-jira:list-projects

opennms:jira-list-projects

opennms-jira:verify

opennms:jira-verify

opennms-jira:show-config

opennms:jira-show-config

opennms-jira:list-priorities

opennms:jira-list-priorities

opennms-jira:list-fields

opennms:jira-list-fields

opennms-jira:list-versions

opennms:jira-list-versions

opennms-jira:list-issue-types

opennms:jist-list-issue-types

opennms-jira:list-components

opennms:jira-list-components

opennms-scv:set

opennms:scv-set

opennms-scv:get

opennms:scv-get

opennms-datachoices:reset-system-id

opennms:datachoices-reset-system-id

opennms-datachoices:display-usage-report

opennms:datachoices-display-usage-report

opennms-datachoices:send-usage-report

opennms:datachoies-send-usage-report

opennms-poller:test

opennms:poll-test

opennms-poller:list-monitors

opennms:list-monitors

opennms-poller:poll

opennms:poll

opennms-filters:filter

opennms:filter

opennms-measurements:show-newts-samples

opennms:show-newts-samples

opennms-measurements:delete-resource

opennms:delete-measurement-resources

opennms-measurements:show-measurements

opennms:show-measurements

opennms-measurements:show-resources

opennms:show-measurement-resources

opennms-enlinkd:delete-topology

opennms:delete-topology

opennms-enlinkd:generate-topology

opennms:generate-topology

opennms-provision:list-detectors

opennms:list-detectors

opennms-collection:list-collectors

opennms:list-collectors

opennms-minion:id

opennms:minion-id

opennnms-minion:ping

Removed in favore of opennms:health-check

opennms-dns:stress

opennms:stress-dns

opennms-kafka-producer:sync-alarms

opennms:kafka-sync-alarms

opennms-kafka-producer:push-topology-edges

opennms:kafka-push-topology-edges

opennms-kafka-producer:evaluate-filter

opennms:kafka-evaluate-filter

opennms-kafka-producer:list-alarms

opennms:kafka-list-alarms

opennms-nodecache:sync

opennms:sync-node-cache

opnennms-coordination:join-election-domain

opennms:join-election-domain

opennms-kv-blob:put

opennms:kv-put-blob

opennms-kv-blob:get

opennms:kv-get-blob

opennms-kv-blob:benchmark

opennms:kv-benchmark-blob

opennms-kv-json:get

opennms:kv-get-json

opennms-kv-json:put

opennms:kv-put-json

opennms-classification:list-rules

opennms:list-classification-rules

opennms-classification:reload-engine

opennms:reload-classification-engine

opennms-classification:list-groups

opennms:list-classification-groups

opennms-classification:list-invalid-rules

opennms:list-classification-invalid-rules

opennms-classification:classify

opennms:classify-flow

opennms-elasticsearch:send-historic-events

opennms:send-events-to-elasticsearch

opennms-events:show-event-config

opennms:show-event-config

opennms-reload:daemon

opennms:reload-daemon

opennms-events:stress

opennms:stress-events

opennms-events:send

opennms:send-event

opennms-bsm:generate-hierarchies

opennms:bsm-generate-hierarchies

opennms-bsm:delete-generated-hierarchies

opennms:bsm-delete-generated-hierarchies

opennms-bsm:render-graph

opennms:bsm-render-graph

opennms-asset-topology:regenerate

opennms:asset-topo-regenerate

opennms-asset-topology:remove

opennms:asset-topo-remove

opennms-asset-topology:list

opennms:asset-topo-list

opennms-asset-topology:create

opennms:asset-topo-create

opennms-asset-topology:regenerateall

opennms:asset-topo-regenerate-all

opennms-topo:show-history

opennms:topo-show-history

opennms-topo:delete-history

opennms:topo-delete-history

opennms-onms:listnamespaces

opennms:list-namespaces

opennms-topo:listoperations

opennms:topo-list-operations

opennms-activemq:stats

opennms:activemq-stats

opennms-activemq:purge-queue

opennms:activemq-purge-queue

opennms-sentinel:id

opennms:id

opennms-collection:list-collectors

opennms:list-collectors

opennms-collection:collect

opennms:collect

opennms-metrics:stress

opennms:stress-metrics

opennms-threshold-states:details

opennms:threshold-details

opennms-threshold-states:enumerate

opennms:threshold-enumerate

opennms-threshold-states:clear-all

opennms:threshold-clear-all

opennms-threshold-states:clear

opennms:threshold-clear

opennms-meta:test

opennms:metadata-test

opennms-rpc:stress

opennms:stress-rpc

opennms-kafka-sink:topics

opennms:kafka-sink-topics

opennms-kafka-rpc:topics

opennms:kafka-rpc-topics

opennms-snmp:fit

opennms:snmp-fit

opennms-snmp:show-config

opennms:snmp-show-config

opennms-snmp:remove-from-definition

opennms:snmp-remove-from-definition

opennms-snmp:walk

opennms:snmp-walk

snmp:local-engine-id

opennms:snmp-local-engine-id

opennms-health:metrics-list

opennms:metrics-list

opennms-health:metrics-display

opennms:metrics-display

opennms-health:check

opennms:health-check

opennms-graph:get

opennms:graph-get

opennms-graph:list

opennms:graph-list

opennms-graph:force-reload

opennms:graph-force-reload

opennms-graph:search

opennms:graph-search

Changelog

Release 25.2.1

Release 25.2.0 is the fifth release in the Horizon 25 series.

It contains a number of small improvements as well as a few bug fixes and a security fix for an HQL injection bug. Hat tip to Johannes Moritz for the security report.

The codename for 25.2.1 is Gyōza.

Bug
  • Cannot process SNMPv3 Informs due to random Engine ID associated with users (Issue NMS-12473)

  • api/v2/ifservices endpoint does not expose ID and IpInterface in JSON results (Issue NMS-12505)

  • Downtime model change was not updated in the docs (Issue NMS-12520)

  • Topology Map does not show Geocoordinates anymore (Issue NMS-12531)

  • HQL Injection (Issue NMS-12572)

Enhancement
  • Cleanup Interfaces Tagged for Flows (Issue NMS-12279)

  • Allow multiple IP rules for discontinuous IP ranges for flow classification (Issue NMS-12422)

  • Support signing code in CircleCI (Issue NMS-12557)

Release 25.2.0

Release 25.2.0 is the fifth release in the Horizon 25 series.

It contains a number of bug fixes including a performance fix for topology updating, and an enhancement to the sink API to persist to disk when the Minion can’t reach the broker.

The codename for 25.2.0 is Biscuit Dumpling.

Bug
  • changing GUI date/timeformat breaks requisition update/import date/time display (Issue NMS-12428)

  • Inefficient locking in the TopologyUpdater class (Issue NMS-12443)

  • MIB Compiler fails with Null Pointer Exception (Issue NMS-12459)

  • The Karaf poller:test command is not location aware (Issue NMS-12460)

  • NPE while compiling a MIB (Issue NMS-12472)

Enhancement
  • Sink API: Persistent Off-Heap Storage (Issue NMS-10586)

Release 25.1.2

Release 25.1.2 is the fourth release in the Horizon 25 series.

It contains a number of alarm classification bug fixes and performance improvements, flow enhancements, and more.

The codename for 25.1.2 is Pierogi.

Bug
  • possible issue in JCIFS Monitor - contiously increase of threads - finally heap dump (Issue NMS-12407)

  • Wrong links in the Help/Support page (Issue NMS-12418)

  • Classification Engine reload causes OOM when defining a bunch of rules (Issue NMS-12429)

  • TCP Listeners are broken (Issue NMS-12430)

  • Cannot define a specific layer in topology app URL (Issue NMS-12431)

  • Classification UI: Error responses are not shown properly (Issue NMS-12432)

  • Classification Engine: The end of the range is excluded, which is not intuitive (Issue NMS-12433)

  • Ticket-creating automations are incorrectly enabled by default (Issue NMS-12439)

  • Enable downtime model-based node deletion to happen when unmanaged interfaces exist (Issue NMS-12442)

  • Improve alarmd Drools engine performance by using STREAM mode (Issue NMS-12455)

Enhancement
  • Refactoring of the Cassandra installation instructions (Issue NMS-12397)

  • SNMP detector should use snmp profiles (Issue NMS-12406)

  • Allow telemetry flows to balance across Kafka partitions (Issue NMS-12427)

  • Add system test for IpfixTcpParser (Issue NMS-12434)

  • Associate exporter node using Observation Domain Id (Issue NMS-12435)

Release 25.1.1

Release 25.1.1 is the third release in the Horizon 25 series.

It contains a number of bug fixes mostly related to alarm and event processing and potential resource leaks, as well as provisioning enhancements to SNMP profiles.

The codename for 25.1.1 is Bánh bột lọc.

Bug
  • Readiness probe with Minion in Kubernetes with health:check does not work (Issue NMS-12120)

  • AlarmLifecycleListenerManagerIT and AlarmdIT flapping (Issue NMS-12309)

  • Strange behavior on used threads and file descriptors on Minion (Issue NMS-12366)

  • Upstream Drools Bug: From with modify fires unexpected rule (Issue NMS-12367)

  • Build failure during release for 25.1.0 in CircleCI (Issue NMS-12380)

  • Discovery does not honor exclude-range inside a definition (Issue NMS-12385)

  • Discovery exclude-range is not location-aware (Issue NMS-12386)

  • Update OpenJDK 11.0.4 to 11.0.5 (Issue NMS-12387)

  • Elasticsearch event forwarder manipulates in-flight event (Issue NMS-12390)

  • send-event.pl is broken after OpenNMS 25.1.0 update (Issue NMS-12392)

  • SNMP profile fitting is not triggered in some cases when MINION is involved (Issue NMS-12399)

  • Alarmd fails intermittently and OOMs (Issue NMS-12412)

  • SNMP Remove from definitions fails for definitions with profile label (Issue NMS-12413)

Enhancement
  • Migrate guide to run with Docker from GitHub repo to Installation guide (Issue NMS-12375)

  • Enhance new snmp profiles to allow fitting to nodes inside requisitions without SNMP service associated to any IPs configured (Issue NMS-12396)

  • Use OpenJDK 8 JDK for build environment (Issue NMS-12398)

Release 25.1.0

Release 25.1.0 is the second release in the Horizon 25 series.

It contains a bunch of bug fixes and enhancements, including packaging fixes, BSM updates, alarmd improvements, and much more.

This release contains a couple of breaking changes:

  1. Dates in event XML (in the ReST API and published to the event port) now must be formatted in standard ISO-8601 format (eg, 2019-11-05T14:36:00-04:00).

  2. Scriptd has been changed to execute scripts in a single read-only transaction by default. If you need the ability to write changes to the database or need to do your own transaction management for any other reason, you will need to add transactional="false" to the <scriptd-configuration …​> tag in the scriptd-configuration.xml file.

The codename for 25.1.0 is Momo.

Bug
  • removed service will break BSM web ui (Issue NMS-9322)

  • Event parameters no longer preserve ordering (Issue NMS-9827)

  • The JMX-Cassandra service goes down for all the cluster when a single instance is down. (Issue NMS-10027)

  • deleting a BSM monitor while an alarm is active doesn’t clear the alarm (Issue NMS-10184)

  • default event description is incorrect (Issue NMS-10346)

  • Config tester doesn’t detect missing xml datacollection file (Issue NMS-10396)

  • Minion fails to start on Raspberry Pi (Issue NMS-10447)

  • BSM alarm severity is not being updated (Issue NMS-10578)

  • snmp authentication error traps with Enhanced Linkd / bridge discovery (Issue NMS-10582)

  • Elasticsearch forwarding fails to recover after outage (Issue NMS-10697)

  • Flow rest results for top N queries are not returned in the correct order (Issue NMS-12104)

  • Flow Classification not functioning as expected (Issue NMS-12259)

  • ReST API for meta-data doesn’t support JSON (Issue NMS-12272)

  • UI for meta-data is only present when using the horizontal layout (Issue NMS-12273)

  • Groups disappear in classification UI (Issue NMS-12291)

  • BSM simulation mode does not reset the last state (Issue NMS-12302)

  • Docker image for sentinel runs the process as root (Issue NMS-12311)

  • Docker image for Minion runs with UID 1001 but the minion user has UID 997 (Issue NMS-12312)

  • Web Assets Dependency Rollup 2019-09-24 (Issue NMS-12320)

  • Memory leak in Drools engine for alarmd (Issue NMS-12322)

  • Minion RPM upgrade deletes /opt/minion (Issue NMS-12324)

  • Threshold state keys do not incorporate the collected resource’s instance label (Issue NMS-12329)

  • Reportd generated reports cause: "No bean named '' is defined" in Persisted Reports (Issue NMS-12337)

  • InterfaceNodeCache doesn’t remove deleted nodes immediately (Issue NMS-12338)

  • Delivering a report with "-" in local part of email address is not working (Issue NMS-12342)

  • XMLMarshalException in ipc.log: Unexpected close tag </inst>; expected </instance> (Issue NMS-12343)

  • Update installation guide to CentOS 8 (Issue NMS-12348)

  • Install guide for R-core is broken for CentOS 8 (Issue NMS-12352)

  • Karaf feature install issue with opennms-core-tracing-jaeger (Issue NMS-12359)

  • Fix requisition cache when accessing the Requisitions UI via "Edit in Requisition" (Issue NMS-12360)

  • Listing monitoring locations from the administrative WebUI is not working (Issue NMS-12377)

Enhancement
  • Add more information into BSM alarms (Issue NMS-9352)

  • Refactor the compatibility matrix in the documentation (Issue NMS-9684)

  • Be able to change the number of rows for the pagination control on the Requisitions UI (Issue NMS-9793)

  • Documentation typo for /rest/ifservices on the developers guide (Issue NMS-9842)

  • Add Web-Hook as delivery option (Issue NMS-12153)

  • Refactor Event Timestamps to ISO-8601 Format (Breaking Change) (Issue NMS-12263)

  • Improve robustness of CassandraBlobStore for async operations (Issue NMS-12274)

  • Clearing threshold states via shell should take effect immediately and not require restart (Issue NMS-12277)

  • List Kafka RPC/Sink topics, Expose Metrics on Karaf shell (Issue NMS-12294)

  • Create proper systemd files for OpenNMS, Minion and Sentinel (Issue NMS-12299)

  • Add ability to update definitions when SNMP profile changes (Issue NMS-12307)

  • Fix security vulnerability with jackson-databind (Issue NMS-12308)

  • Availability boxes on node pages including sub pages differ (Issue NMS-12321)

  • OpenNMS 25 Dependency Still Allows Old PostgreSQL Versions (Issue NMS-12341)

  • Update base container image to use CentOS 8 (Issue NMS-12353)

  • Remove floating OpenJDK dependencies in OCI build (Issue NMS-12354)

  • Detect and help resolve Karaf bootstrap issues (Issue NMS-12356)

  • Update CISCO-ENTITY-SENSOR-MIB threshold trap events to include alarm-data (Issue NMS-12362)

  • switch core/web-assets from yarn to npm (Issue NMS-12363)

  • Collect and display file descriptor statistics via JMX for OpenNMS and Minion (Issue NMS-12364)

Release 25.0.0

Release 25.0.0 is the first release in the Horizon 25 series.

It contains a huge number of bug fixes and enhancements, most notably massive thresholding improvements, big changes to netflow and other streaming telemetry data, reporting and UI updates, plus much more.

The codename for 25.0.0 is Baozi.

Bug
  • "Graph all" fails with 'Request Header Fields Too Large' error (Issue NMS-8712)

  • reload Pollerd doesn’t work correctly (Issue NMS-9181)

  • No class found exception in OSGi for org.osgi.service.jdbc.DataSourceFactory (Issue NMS-9341)

  • GenericResourceType is altering index names on class object initialization (Issue NMS-9702)

  • Updating external lists referenced by include-url requires restart OpenNMS (Issue NMS-10071)

  • Telephone PIN Field in User Details is Misplaced (Issue NMS-10073)

  • HealthCheck should not fail for ElasticSearch if flows are not enabled (Issue NMS-10498)

  • Syslog incorrect dates being parsed into database (Issue NMS-10605)

  • Zooming with Backshift is broken (Issue NMS-10635)

  • MonitoredServiceDaoIT test fail due to database (Issue NMS-10643)

  • EventdIT test failure (Issue NMS-10644)

  • DuplicatePrimaryAddressIT logs a failure due to logging assertion (Issue NMS-10645)

  • Reflected file download vulnerability in /api/v2/scanreports (Issue NMS-10703)

  • Insecure cache-control for session cookies (Issue NMS-10704)

  • Reflected XSS vulnerability in notification/detail.jsp and outage/detail.htm (Issue NMS-10707)

  • Kafka alarm producer synchronization fails due to missing event (Issue NMS-10724)

  • Documentation broken (Issue NMS-10759)

  • [circleci] Building container images fails intermittently (Issue NMS-10834)

  • Fix version range for maven-jaxb-schemagen-plugin version in root pom (Issue NMS-11760)

  • Sentinel container does not contain integration API in maven repository (Issue NMS-11766)

  • Windows is failing tests due to spurious cleanup errors (Issue NMS-12102)

  • AS is stored as signed int in flow doc (Issue NMS-12105)

  • Add local cache to reverse hostname resolution in flows (Issue NMS-12117)

  • karaf.log appears on the root file system when running Minion/Sentinel on Ubuntu/Debian. (Issue NMS-12125)

  • Sentinel cannot persist Telemetry when running under OracleJDK 11 (Issue NMS-12126)

  • Cannot debug Telemetry persistence on Sentinel (Issue NMS-12127)

  • Outage timeline is empty (Issue NMS-12160)

  • Minion not showing label correctly and label cannot be edited (Issue NMS-12164)

  • WsManWQLDetector, ActiveMQDetector missing setBeanProperties (Issue NMS-12175)

  • sFlow adapter drops flows due to NPE (Issue NMS-12185)

  • BulkRequests should log more details of why it failed (Issue NMS-12188)

  • The Cron Expression is only shown for reports which are created with the new UI (Issue NMS-12189)

  • Fix typo in sonar.sh (Issue NMS-12196)

  • Minion memory leak related to new DNS lookup functionality (Issue NMS-12207)

  • JMX Metrics for Newts disappeared (Issue NMS-12216)

  • Can’t change Minion location in the Provisiond UI (Issue NMS-12217)

  • Changing a nodes location breaks the service polling schedule (Issue NMS-12219)

  • Wrong PID in opennms.pid (Issue NMS-12226)

  • interfaceresolv event token is incorrect (Issue NMS-12227)

  • Kafka RPC: Slow callbacks cause lag on response topics (Issue NMS-12232)

  • WS-MAN doesn’t work with JDK 11 (Issue NMS-12235)

  • Kafka RPC: StackOverflowError while unmarshaling causes processing to halt (Issue NMS-12236)

  • Ops wallboard hanging due to Vaadin session deadlock (Issue NMS-12237)

  • Fix flapping DatabaseReportPageIT (Issue NMS-12241)

  • Invalid timestamps used for CollectionSets generated by telemetryd (Issue NMS-12242)

  • DNS resolved hostname should always be reflected in 'iphostname' field in ipinterface table (Issue NMS-12249)

  • Cannot change the type of a scheduled outage (Issue NMS-12255)

  • DefaultReportWrapperService: failed to run or render report (Issue NMS-12258)

  • Rewrite test in ScheduleOutageIT for new UI (Issue NMS-12264)

  • vmwarereqtool freezes and never return to the prompt after is executed (Issue NMS-12265)

  • EnhancedLinkd-Thread-x-of-x - Null Pointer Exception (Issue NMS-12267)

  • ScriptPolicy scripts encounter LazyInitializationException on calling node.getSnmpInterface() (Issue NMS-12268)

  • Remove old comment from data source configuration (Issue NMS-12270)

  • Fix usage description of vmwarereqtool (Issue NMS-12275)

  • Poller take a long time to startup/initialize on large systems (Issue NMS-12285)

  • Ordering of classification groups does not work (Issue NMS-12286)

  • Default settings in container image don’t write RRD files (Issue NMS-12290)

  • Grafana report generation is timing out (Issue NMS-12297)

  • Default "90% Interface Throughput" Threshold Doesn’t Work (Issue NMS-12301)

  • ConcurrentModificationException when cloning events (Issue NMS-12306)

Enhancement
  • Remove alarm-change-notifier plugin (Issue NMS-10658)

  • Enforce VertexRef to be immutable (Issue NMS-11138)

  • View traffic for specific hosts over time (flows) (backend work) (Issue NMS-11153)

  • Initial CircleCI pipeline (Issue NMS-11157)

  • Update flow indicators for SNMP interfaces to link to deep dive tool (Issue NMS-11169)

  • Refactor GraphProvider to return Graph instead of being the Graph itself (Issue NMS-11264)

  • Design new header for PDF reports (Issue NMS-11305)

  • Edges should allow to contain vertices of different namespaces (Issue NMS-11343)

  • View traffic for specific conversations over time (flows) (backend work) (Issue NMS-11345)

  • Core structure/API of new Graph Service (Issue NMS-11366)

  • Implement domain specific graph objects in New Graph service (Issue NMS-11408)

  • View traffic for specific applications over time (flows) - back end work (Issue NMS-11458)

  • Use composite aggregation instead of convo_key field from flow documents (Issue NMS-11473)

  • Provide new GraphProvider implementation for the ApplicationTopologyProvider (Issue NMS-11506)

  • Indicators for nodes with flow data (Issue NMS-11523)

  • The GraphService interface should return GenericGraph instead of Graph<?, ?> (Issue NMS-11554)

  • Provide capability to expose GraphContainerProviders with only one graph (SingleGraphContainerProvider) (Issue NMS-11574)

  • Make GraphRepository accessible via OSGI (Issue NMS-11575)

  • Make GraphRepository persist collections (Issue NMS-11624)

  • Implement ReST Service for the new Graph Service (Issue NMS-11636)

  • Search for nodes that have flow data (Issue NMS-11654)

  • Refactoring Docker Container Images towards Horizon 25 (Issue NMS-11719)

  • Run container image as non-root (Issue NMS-11720)

  • Replace custom bash templating with Confd and streamline entrypoint script (Issue NMS-11721)

  • Replace current (Spring Webflow) Reporting UI with an angular implementation (Issue NMS-11723)

  • CircleCI (Issue NMS-11830)

  • Thresholding for streaming metrics & more (Issue NMS-11834)

  • Project Drift Enhancements (Issue NMS-11836)

  • Grafana Integration (Issue NMS-11844)

  • Enterprise Reporting Enhancements (Issue NMS-11861)

  • Grouped flow classification rules (Issue NMS-11975)

  • Make Graph immutable (Issue NMS-11985)

  • Skew detection for flow timestamps (Issue NMS-11993)

  • Run system tests using OpenJDK 11 (Issue NMS-11995)

  • Top N hosts (flows) (Issue NMS-11998)

  • Dynamically change a node’s location (Issue NMS-12053)

  • Customize priority of flow classification rules (Issue NMS-12058)

  • Flow classification role (Issue NMS-12065)

  • Add support for sending events from a Minion (Issue NMS-12078)

  • Hostname resolution for flows (Issue NMS-12087)

  • Provide search capabilities (Issue NMS-12092)

  • KPIs for resource graphs (Issue NMS-12095)

  • Migrate system tests to use TestContainers framework (Issue NMS-12107)

  • Remove hack from opennms-spring-extender to expose ServiceRegistry (Issue NMS-12122)

  • Upgrade Bootstrap to latest 4.3.x version (Issue NMS-12124)

  • Allow tarball installation in Docker images for Horizon (Issue NMS-12133)

  • Add the ability to trigger a requisition import via the Karaf shell (Issue NMS-12135)

  • Store and read thresholding configuration from PostgreSQL (Issue NMS-12140)

  • Add support for sending events from Sentinel (Issue NMS-12141)

  • Stickiness for distributed processing in telemetryd (Issue NMS-12142)

  • Share thresholding state across Sentinels (Issue NMS-12143)

  • Create Jasper report templates for Grafana dashboards (Issue NMS-12144)

  • Improve Grafana report rendering speed (Issue NMS-12145)

  • Implement easier datetime selection (Issue NMS-12147)

  • Consider timezone when scheduling reports (Issue NMS-12148)

  • Allow multiple recipients when delivering/scheduling a report (Issue NMS-12149)

  • Add ability to edit existing scheduled reports (Issue NMS-12150)

  • Allow for searching a dashboard (Issue NMS-12152)

  • Easier Schedule Definition (Issue NMS-12154)

  • Improve performance of hostname resolution for flows (Issue NMS-12157)

  • Remove Legacy Database Reports (Web Flow) (Issue NMS-12158)

  • UsersRestService: /users/whoami returns 404 on ldap authenticated user (not in users.xml) (Issue NMS-12159)

  • User conceptualizes profile-fitting for SNMP across enterprise (Issue NMS-12167)

  • User provisions nodes with SNMP profiles in place (Issue NMS-12169)

  • Grafana reporting: Render exceptions in images instead of aborting (Issue NMS-12170)

  • Collect and graph packet reception rates for telemetryd listeners (Issue NMS-12182)

  • Allow developer to push OCI’s to docker hub from arbitrary branches (Issue NMS-12187)

  • Enable flow UDP listener by default on Minion and OpenNMS (Issue NMS-12190)

  • Upgrade Drools to latest 7.x release (Issue NMS-12191)

  • Grafana Reporting: Add time to date range in report header of template (Issue NMS-12200)

  • Show configured rule groups (Issue NMS-12212)

  • Edit (CRUD) rule groups via rest & gui (Issue NMS-12213)

  • Add reply-to field to notification emails (Issue NMS-12224)

  • Ensure the reporting jar for jasperstudio is still working and containing all the relevant jars (Issue NMS-12229)

  • Verify Database Reporting Documentation is still up to date (Issue NMS-12230)

  • Dependency based testing (Issue NMS-12233)

  • Update minimum required version of PostgresSQL for H25 (Issue NMS-12238)

  • Report scheduler should be disableable (Issue NMS-12240)

  • Add support for meta-data fields in thresholding expressions (Issue NMS-12247)

  • Manage persisted threshold state via shell (Issue NMS-12248)

  • Increase default heap size to 2GB (Issue NMS-12276)

  • Expose Kafka Lag on Sink/RPC through Karaf shell (Issue NMS-12295)

  • Expose RPC/Sink Metrics on Karaf shell (Issue NMS-12296)

  • Expose health:check via ReST (Issue NMS-12298)

  • Add a JMS broker monitor (Issue NMS-7188)

  • Expose the complete OnmsNode object in Scriptd to avoid LazyInitializationExceptions (Issue NMS-8294)

  • Document RPC TTL tuning (Issue NMS-10376)

  • Redesign default threshold events (Issue NMS-10672)

  • Filter alarm list by surveillance categories (Issue NMS-10695)

  • use sevntu-checkstyle-maven-plugin from maven-central (Issue NMS-10717)

  • use org.asteriskjava:asterisk-java from maven-central (Issue NMS-10718)

  • Angular requests do not handle 401 responses from the OpenNMS backend (Issue NMS-10719)

  • Increase logging clarity for flow processing (Issue NMS-10723)

  • Support compression in JestClient for Elasticsearch (Issue NMS-10859)

  • Publish Docker images from CircleCI to DockerHub (Issue NMS-11722)

  • Improve the sample content for the NXOS GPB Parser Groovy Script. (Issue NMS-11759)

  • Design thresholding support for telemetryd on Sentinel (Issue NMS-11776)

  • Thresholding support for push metrics (Issue NMS-11797)

  • View traffic for specific conversations over time (flows) (frontend work) (Issue NMS-12074)

  • Provide possibility to add Grafana Instances (Issue NMS-12075)

  • View traffic for specific applications over time (flows) - front end work (Issue NMS-12076)

  • View traffic for specific hosts over time (flows) (frontend work) (Issue NMS-12077)

  • Support wildcards in service names (Issue NMS-12080)

  • Refactor threshd out of opennms-services (Issue NMS-12081)

  • Configurable index name for Event & Alarm Forwarder (Issue NMS-12082)

  • Add a UI to edit meta-data in requisition (Issue NMS-12083)

  • Custom TTLs for detectors, monitors and collectors (Issue NMS-12096)

  • Update Elasticsearch integrations to support ES 7.x (Issue NMS-12099)

  • Update Webpack Build to Latest Babel and TypeScript (Issue NMS-12130)

  • Enhance CircleCI workflow to reduce build times and tests (Issue NMS-12136)

  • Add SonarQube Code Coverage to CircleCI Workflow (Issue NMS-12163)

  • Create feature to install thresholding service on sentinel (Issue NMS-12180)

  • Postgres KeyValueStore implementation via JDBC (Issue NMS-12181)

  • Update warmerge plugin dependency to 0.5 (Issue NMS-12194)

  • Enhance Jaeger OpenTracing Logging with tag for thread name (Issue NMS-12195)

  • Upgrade Kafka components to 2.3.0 (Issue NMS-12203)

  • Add enhancements to DNS Resolver and Circuit Breaker (Issue NMS-12215)

  • Leverage telemetry sequencing for better thresholding performance (Issue NMS-12243)

  • Remove session lock from Drools in alarmd (Issue NMS-12244)

  • Karaf shell command for benchmarking performance of BlobStore (Issue NMS-12245)

  • Add support for STARTTLS to TLS certificate monitor (Issue NMS-12252)

  • Resource Graphs : Graph Selection fails to render when many resources are selected (Issue NMS-12256)

  • split shell utilities into a separate module (Issue NMS-12266)

  • allow using fetched RPMs in build_container_image.sh (Issue NMS-12271)

  • Add documentation about classification rule & group sorting (Issue NMS-12278)

  • Migrate resourcecli to the Karaf shell (Issue NMS-12280)

  • Add Karaf shell command to view raw sample stored in Newts (Issue NMS-12281)

  • Be able to execute ICMP requests through Java when running as non-root (Issue NMS-12283)

  • Update Minion packaging to use single RPM/Deb (Issue NMS-12300)