Releases: OpenNMS/opennms
OpenNMS 21.0.1 (Rachael)
Release 21.0.1 is the latest stable release of OpenNMS. It contains a few enhancements but is primarily a bugfix release, including a fix for the rendering issue in the topology UI and other Vaadin-based UI elements.
For a high-level overview of what’s changed in OpenNMS 21, see What’s New in OpenNMS 21.
For a complete list of changes in 21.0.1 see the release notes.
OpenNMS 21.0.0 (Deckard)
Release 21.0.0 is the latest stable release of OpenNMS.
For a high-level overview of what’s changed in OpenNMS 21, see What’s New in OpenNMS 21.
For a complete list of changes in 21.0.0 see the release notes.
OpenNMS 20.1.0 (Zorg)
Release 20.1.0 is the latest stable release of OpenNMS.
It is based on OpenNMS 20.0.2 plus additional work done in preparation for Meridian 2017, including a new ReST API to support enhanced OpenNMS Grafana inetgration.
For a high-level overview of what’s changed in OpenNMS 20, see What’s New in OpenNMS 20.
For a complete list of changes in 20.1.0 see the release notes.
OpenNMS Horizon 20.0.2 (Ruby Rhod)
Release 20.0.2 is the latest stable release of OpenNMS. It contains a number of important bug fixes and a few small new enhancements.
For a high-level overview of what’s changed in OpenNMS 20, see What’s New in OpenNMS 20.
For a complete list of changes in 20.0.2 see the release notes.
OpenNMS Horizon 20.0.1 (Korben Dallas)
Release 20.0.1 contains a number of bug fixes and enhancements including a fix for a deadlock during polling.
For a high-level overview of what’s changed in OpenNMS 20, see What’s New in OpenNMS 20.
For a complete list of changes in 20.0.1 see the release notes.
OpenNMS Horizon 20.0.0 (Leeloo)
System Requirements
- Java 8: OpenNMS Horizon 20 requires Java 8 as the runtime environment. To run Horizon 20, we recommend the most recent version of Oracle JDK 8 for your platform.
- PostgreSQL 9.2 or higher: Horizon 20 requires PostgreSQL 9.2 or higher. All older versions of PostgreSQL are past their end-of-life support date.
Breaking Changes
- NMS-9303: Deprecated Capsd and Linkd event definitions are removed. Otherwise unused event definitions are also cleaned up and removed from the code and configurations. For a detailed list of all removed events see NMS-9303. For people maintaining databases prior to OpenNMS 1.8, we provide a maintenance script for Linux and Windows in the opennms-contrib package to clean up old events in the database. The script is named
NMS-9303-cleanup-deprecated-events.shand executes a SQL script. In case you run PostgreSQL on Windows, you can usepsql.exe -d opennms -U opennms -W -a -f NMS-9303-cleanup-deprecated-events.sqlto run the maintenance script.
Future Breaking Changes
- Configuration File Format: In OpenNMS Horizon 21, we will (finally) be re-formatting all XML configuration files in
$OPENNMS_HOME/etcto match the way JAXB writes them out. This will likely make merging configuration changes from 20 to 21 more difficult, so we wanted to give some advanced warning.
Important Upgrade Notes
- JAXB XML Parsing: We have finished removing our use of Castor for XML processing. While we have tried to adjust XSDs where needed to provide a seamless transition, there are a LOT of changes and it’s possible there may still be issues with some config files that are being treated more strictly than they used to be. If you run into any config files that can’t be parsed in OpenNMS 20, please open an issue.
- org.opennms.newts.nan_on_counter_wrap: If you are using Newts, returning NaN when a counter-wrap is encountered now defaults to true. If you relied on the old behavior, you can change it back by setting
org.opennms.newts.nan_on_counter_wrap=falsein a file inopennms.properties.d.
New Features
- IBM Tivoli Event Integration Facility: Support has been added to bridge EIF events into OpenNMS Horizon. (more details)
- Asset Topology Provider: The Asset Topology Provider generates a GraphML topology based on node metadata including asset fields. (more details).
- Alarm Sounds: The web UI can now optionally flash and play an alert sound when alarms are created and optionally updated. (more details).
- Minion Updates: The Minion has improved quite a bit over the previous release, adding support for more collectors and more robust tracking of Minion availability.
- Polling now reports an "unknown" poll status when the Minion doesn’t respond, rather than "down".
- The minion now supports using JICMP and JICMP6 for ICMP requests, providing more performant ping requests than the previous default JNA implementation.
- Debian packages are now provided for the Minion.
- Requisition handling now delegates properly to the Minion when appropriate.
- The HTTP, JDBC, JMX, NSClient, TCA, WMI, WS-Man, and XML collectors now work on the Minion.
- VMware provisioning, collection, and monitoring all work on the Minion now.
- Collectors can all be run remotely on Minions manually from the OpenNMS Karaf shell.
Retired Features
- Elasticsearch 1 API: The old Elasticsearch API has been removed in favor of the Elasticsearch ReST plugin, which should support most Elasticsearch API versions. Instructions on configuring the Elasticsearch ReST plugin are available in the Administrators Guide.
Dependency Updates
- ActiveMQ: 5.10.0 → 5.13.3
- Camel: 2.14.4 → 2.16.5
- Log4J: 2.5 → 2.8.2
- The
camel-nettyplugin has been superceded by thecamel-netty4plugin.
Other Improvements
- Collection APIs have been refactored and cleaned up immensely to support the Minion changes documented above.
- JSON datacollection now supports properly handling responses that return an array.
- Path handling for collection resources has been improved.
- Many improvements have been made to the documentation, including documentation for collectors, detectors, and monitors, as well as Karaf shell commands and event sources.
- A number of improvements to geolocation resolution and node maps have been made.
- Internal OpenNMS events have been cleaned up and broken into logical parts in
$OPENNMS_HOME/etc. - Graphs that use relative time periods have additional drop-down choices now.
- The topology and BSM infrastructure has been vastly improved, with MANY bug fixes and performance improvements.
- BSM now properly handles deleted alarms.
- The grafana box on the main dashboard now supports paging.
- Fix a thread leak in SNMP queries that can happen when old connections don’t get closed properly.
- Fix a long-standing bug in the
vacuumd-configuration.xmlthat referred to the wrong ticket state for "closed". - Fix calculation of KSC report "Last Week" and "This Week" timespans.
- Fix startup on systems without any IPv6 support.
- Reverse lookups in provisioning now handle IPs without a corresponding A record.
OpenNMS Horizon 19.1.0 (Octopush)
Release 19.1.0 contains a number of bug fixes as well as some new features over 19.0, including Drools, Quartz, Spring, and XML configuration parsing updates, plus a new syslog parser, and the ability to send string values with the TCP RRD strategy.
For a high-level overview of what’s changed in OpenNMS 19, see What’s New in OpenNMS 19.
For a complete list of changes in 19.1.0, see the release notes.
OpenNMS Horizon 19.0.1 (Ferret-Legging)
Release 19.0.1 (Ferret-Legging) contains a number of small bug fixes focused mostly on upgrade issues from Horizon 18.
For a high-level overview of what’s changed in OpenNMS 19, see What’s New in OpenNMS 19.
For a complete list of changes in 19.0.1, see the release notes.
OpenNMS Horizon 19.0.0 (Ice Hockey)
System Requirements
- Java 8: OpenNMS Horizon 19 requires Java 8 as the runtime environment.
To run Horizon 19, we recommend the most recent version of Oracle JDK 8 for your platform. - PostgreSQL 9.2 or higher: Horizon 19 requires PostgreSQL 9.2 or higher.
All older versions of PostgreSQL are past their end-of-life support date.
Important Upgrade Notes
- Cassandra JMX Metrics: The default value for the
friendly-nameattribute on theJMX-Cassandracollection service has changed fromcassandra21xtocassandra.
This changes the path in which the metrics are stored.
If you have already been collecting these metrics and wish to preserve them, you can ignore this change when merging your configuration. - Jetty 9.4 Upgrade: Jetty has been upgraded from
8.1to the latest9.4.
If you have a customjetty.xmlin youretcfolder, you will need to migrate your changes.
Useetc/examples/jetty.xmlas a starting point. - Drools 6.4.0 Upgrade: Drools has been upgraded from
6.0.1.Finalto6.4.0.Final.
If you have custom Drools rules, they may need to be revised.
The compiler used in6.4.0.Finalis stricter than the compiler in previous versions. - Separate opennms-webapp-remoting Package: The webapp that supports the Remote Poller has been separated from the main OpenNMS webapp.
This will make installations much smaller for users that do not use the Remote Poller.
If you use the Remote Poller, you will need to install theopennms-webapp-remotingpackage. - OpenNMS Minion can run on a JRE: The OpenNMS Minion packages no longer require a JDK package and can run on the plain JRE.
- User roles moved from magic-users.properties into users.xml: The users.xml file now contains a list of roles for each user alongside the rest of the user attributes.
- JICMP 2.0 Upgrade: Our Java ICMP library has been upgraded to version 2.0. You will need to upgrade to this version before upgrading to OpenNMS Horizon 19.
New Features
- OpenNMS Minion: Minion systems now have full support for most management features of OpenNMS:
- Discovery
- Provisioning
- Polling
- SNMP data collection
- SNMP link discovery
- Syslog reception (sent to OpenNMS via JMS or Apache Kafka)
- SNMPv1/v2/v3 trap reception (sent to OpenNMS via JMS or Apache Kafka)
- Automatic provisioning of Minions: Minion devices will be added to the Minions requisition and monitored for connectivity with OpenNMS.
- GraphML Topology Provider: A new Topology Provider is available that reads GraphML formatted graphs and displays them in the the Topology UI.
- OpenNMS Elasticsearch ReST Forwarder: This Elasticsearch forwarder can store events, alarms, and alarm state changes in Elasticsearch for archival or searching. It is compatible with all currently supported versions of Elasticsearch.
- Unified JAAS Authentication: The web UI, the Apache Karaf OSGi console, and the built-in ActiveMQ broker all use unified authentication.
- Monitoring Location Events: Events will be sent when Monitoring Locations are added, updated, or deleted.
- Exponential propogation: There is a new exponential propogation function available for Business Services.
- External JMS broker: It is possible to configure OpenNMS to use an external JMS broker if desired.
- ICMP traffic class and don't-fragment support: It is possible to configure OpenNMS to set DSCP traffic class and "don't fragment" bits when polling ICMP.
- Geographical Maps: Geographical maps are now included by default in the center of the Web UI front page.
- Web UI improvements: Location information has been added to many places in the UI, and a number of pages have been enhanced including the BSM editor and topology UI.
New Data Collection Definitions
- HTTP:
- Elasticsearch
- JMX:
- Apache Kafka
- VMware vCenter Server 6.0.0
Retired Features
- Simple Topology Provider: The Simple Topology Provider has been removed. The new GraphML Topology Provider should be used instead.
Deprecated Features
- ElasticSearch 1.X Event Forwarder: The existing Elasticsearch forwarder (
opennms-elasticsearch-event-forwarder) is deprecated in favor of the new Elasticsearch ReST Forwarder (opennms-es-rest) since the ReST forwarder has broader compatibility with different versions of Elasticsearch.
Dependency Updates
- Jetty has been upgraded from 8.1.10.v20130312 to 9.4.0.v20161208.
- The Servlet API has been upgraded from 3.0 to 3.1.
- Drools has been upgraded from 6.0.1 to 6.4.0.
Internal Improvements
- We replaced all of the GWT components in the web UI with AngularJS components. This reduces the complexity of the UI code and will make it easier for developers with Javascript experience to maintain and contribute to the UI.
- All Javascript dependencies for the web UI are now managed by Bower and Gulp.
- Jasper reports are now automatically recompiled if changed.
- The JIRA ticketer has been improved.
- The default database connection pool has been switched from c3p0 to HikariCP (http://brettwooldridge.github.io/HikariCP/) to increase performance.
- Our ICMP libraries are now capable of being run by non-root users (although OpenNMS is not yet configured to support this).
OpenNMS Horizon 18.0.4 (Kiwa Hirsuta)
Release 18.0.4 contains a number of bug fixes and enhancements, including a fix for a deadlock that can be triggered by using the topology UI, and a rather large performance fix for startup if you are using BSM.
For a high-level overview of what’s changed in OpenNMS 18, see What’s New in OpenNMS 18.
For a complete list of changes in 18.0.4, see the release notes.