Release 18.0.3

Release 18.0.3 is the latest stable release of OpenNMS. It contains a few bug fixes and a enhancements, and a fix for a discovery/provisioning regression that can cause duplicate nodes.

For a high-level overview of what’s changed in OpenNMS 18, see What’s New in OpenNMS 18.

The codename for 18.0.3 is Dugong.

Regression: Duplicate Nodes and Default Foreign Source

Due to a bug in the new Discovery daemon introduced in 18.0.0 (NMS-8682), OpenNMS would create (identical) duplicate nodes when discovering using the default foreign source.

You can get the list of duplicate nodes by running the following query in PostgreSQL (psql -U opennms):

  FROM (SELECT nodeid AS "ID",
               ROW_NUMBER() OVER (PARTITION BY nodelabel ORDER BY nodeid) AS "row_num"
          FROM node) AS foo
WHERE foo."row_num" > 1);

If you are satisfied that the nodes are safe to delete, the next step is to actually delete them. First, (back up your database. Then, run the following query in PostgreSQL:

  FROM node
 WHERE nodeid
          FROM (SELECT nodeid AS "ID",
                       ROW_NUMBER() OVER (PARTITION BY nodelabel ORDER BY nodeid) AS "row_num"
                  FROM node) AS foo
 WHERE foo."row_num" > 1);

Release 18.0.2

Release 18.0.2 is the latest stable release of OpenNMS. It contains a few bug fixes and a enhancements. For a high-level overview of what’s changed in OpenNMS 18, see What’s New in OpenNMS 18.

The codename for 18.0.2 is Muskrat.

  • IE11 and Firefox Browsers Display Double Scroll Bars for the RTC: Service Monitoring Table in the Ops Panel (Issue NMS-8035)

  • Null Pointer Exception in bridge discovery (Issue NMS-8390)

  • Overwriting for storeByForeignSource does not work (Issue NMS-8406)

  • upgrade error: too many open files (Issue NMS-8507)

  • The ReST end point /foreignSourcesConfig/assets contains invalid fields (Issue NMS-8690)

  • Site status view gives a 400 error for aggregate view for node downs (Issue NMS-8700)

  • View current Site outages does not filter for "building" (Issue NMS-8702)

  • The Vaddin version of the dashboard shows negative availability sometimes (Issue NMS-8705)

  • Scriptd is not working at all for events that have nodes associated. (Issue NMS-8716)

  • vmwarecimquery and vmwareconfigbuilder tools is not working (Issue NMS-8718)

  • XSS vulnerability in display of SNMP sysName and trap varbind values (Issue NMS-8722)

  • IllegalStateException when using the RrdSummaryController (Issue NMS-8743)

  • Add Mattermost and Slack notification strategies (Issue NMS-8346)

Release 18.0.1

Release 18.0.1 is the latest stable release of OpenNMS. It contains a large number of bug fixes and a few enhancements. For a high-level overview of what’s changed in OpenNMS 18, see What’s New in OpenNMS 18.

The codename for 18.0.1 is Platypus.

  • NPE in provisioning groups UI (corner case / race condition) (Issue NMS-3820)

  • When using storeByFS a provisioning group cannot contain whitespace (Issue NMS-6331)

  • observations related to "ping".option in topology page (Issue NMS-6849)

  • Using ping in topology view cause strange behavior (Issue NMS-7204)

  • Problems with "ResponseTimeSummary_Availability_Offenders" subreport (Issue NMS-7472)

  • Problems with "NodeAvailability" report (Issue NMS-7475)

  • Provided graph definitions are mixing aggregation function leading to wrong min / max totals (Issue NMS-7578)

  • New Monitoring Locations Editor only allows integers in the latitude and longitude fields (Issue NMS-7869)

  • output.log fills up with GLib-GObject-CRITICAL messages (Issue NMS-8016)

  • Issues with data collection config for Cisco devices (Issue NMS-8027)

  • Remotepoller shell script searching remote-poller.jar at wrong location (Issue NMS-8040)

  • Ping from topology view does not work (results in 404 Page not found) (Issue NMS-8043)

  • Documentation for Cassandra/Newts doesn’t mention that a JDK is required (Issue NMS-8049)

  • Node rescans possible in WebUI with ROLE_USER (Issue NMS-8127)

  • Wrong label in send-event menu (Issue NMS-8154)

  • Missing node/interface information in an event after sending an event with send-event ui (Issue NMS-8155)

  • VMware-ManagedEntity does not work with VMware 6 (Issue NMS-8187)

  • Install -dis on "SocketException:Too many open files" on centos:latest docker (Issue NMS-8200)

  • Editing scheduled outages overwrites collectd-configuration.xml (Issue NMS-8206)

  • Trouble ticket link template in accidentally filtered (Issue NMS-8256)

  • The filter for the foreign source in the outages view caused an SQLGrammarException (Issue NMS-8275)

  • enlinkd produces getReadyRunnable: queue is Empty (Issue NMS-8290)

  • Enlinkd null pointer exception in BridgeTopologyDiscovery (Issue NMS-8291)

  • linknode.jsp displays no data link (Issue NMS-8292)

  • Topology elements looks off center when the panel is collapsed (Issue NMS-8297)

  • Linkd Topology Provider shows Indeterminate Status of Vertices if no alarm is defined. (Issue NMS-8328)

  • Multi-Selection Tool does not work anymore (Issue NMS-8331)

  • Selection is lost when using the Topology UI (Issue NMS-8332)

  • QuickAddNodeIT flapping during tearDown() (Issue NMS-8340)

  • If the persistence layer is not available or unresponsive the WebUI becomes unavailable or extremely slow and key components stop working (Issue NMS-8360)

  • nodelink.jsp shared segment without ports (Issue NMS-8362)

  • Exceptions thrown by the Newts Conversion Tool for certain RRDs and no data on Cassandra (Issue NMS-8363)

  • Totals based on {diffTime} on any graph templates related with octets are wrong (Issue NMS-8372)

  • Poller threads can get locked up while waiting for outages to be created/resolved (Issue NMS-8376)

  • storeByForeignSource breaks node[N] style resource IDs (Issue NMS-8404)

  • ConcurrentModificationException in DefaultEventHandlerImpl (Issue NMS-8413)

  • Karaf log level is DEBUG in stable (Issue NMS-8416)

  • Enlinkd Topology: Nodes without any alarms have a question mark (Issue NMS-8417)

  • IBM TSRM integration throws "requires a field Ticket class" exception (Issue NMS-8419)

  • Enlinkd Topology: Cannot search for nodes without alarms (Issue NMS-8420)

  • BSM Editor throws an exception if you type a 0 in weight (Issue NMS-8421)

  • WebMonitor returns false negative poll results (Issue NMS-8427)

  • Ring buffer entries exceed capacity (Issue NMS-8430)

  • Newts: String properties are persisted using the "collector" thread (Issue NMS-8437)

  • Upgrade PostgreSQL Driver and C3P0 (Issue NMS-8438)

  • Newts: The number of sample processing threads do not match the number of writer threads (Issue NMS-8439)

  • Topology redirects to localhost ( (Issue NMS-8450)

  • Problem in Minion syslog reception route (Issue NMS-8456)

  • opennms stop takes 5 minutes (Issue NMS-8471)

  • NRT graph interval should default to > 1s (Issue NMS-8477)

  • PostgreSQL driver’s OSGi bundle activator deregisters the driver (Issue NMS-8480)

  • Isolate Smoke Tests (Issue NMS-8485)

  • Port Minion System Tests to the Smoke Test Suite (Issue NMS-8486)

  • JdbcCollector does not close database connections correctly (Issue NMS-8488)

  • NPE in JMX Collector when collecting composite attributes (Issue NMS-8497)

  • jmxremote password file not found when running install -dis after configuring RMI (Issue NMS-8499)

  • JMX RMI auth configuration does not work with custom roles (Issue NMS-8500)

  • Cancel dialog is slow and Topology Map crashes if vertex has many edges (20+) (Issue NMS-8501)

  • log4j2.xml passes WARN level logs by default (Issue NMS-8502)

  • Attributes set in the DroolsTicketerServiceLayer get overwritten (Issue NMS-8503)

  • HW ENTITY_MIB plugin is not showing all information for certain devices (Issue NMS-8506)

  • OEM graph for Storage Utilization fails due to '::' (Issue NMS-8519)

  • The ticket change date is the same as the reported date (Issue NMS-8520)

  • Discovery doesn’t create/place node in correct requisition for range (Issue NMS-8537)

  • blank label in "Threshold Function Details" window (Issue NMS-8541)

  • Resizing browser window causes Topology UI to refresh itself needlessly (Issue NMS-8588)

  • Topology Map is very very slow (Issue NMS-8589)

  • Topology UI refreshes many times when performing various actions (Issue NMS-8592)

  • Requisitioned IP interfaces never have ipHostName set (Issue NMS-8593)

  • Compiler warnings about MaxPermSize support is removed in 8.0 (Issue NMS-8594)

  • Vertex shows empty tooltip (Issue NMS-8595)

  • Distributed/Geographical Maps do not show images anymore (Issue NMS-8597)

  • Change Real-time Graphing Default to 5 or 10 seconds (Issue NMS-5937)

  • Make node aggregation 'maxClusterRadius' in Geographical Map configurable (Issue NMS-7638)

  • Query an Application using the ReST interface (Issue NMS-8172)

  • Add PaloAlto Firewall Datacollection (Issue NMS-8174)

  • RESTv2 services should return HTTP 204 for DELETE (Issue NMS-8195)

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

  • Upgrade Log4j2 (there are several performance improvements) (Issue NMS-8392)

  • Return X-Frame-Options HTTP header to prevent x-frame scripting and clickjacking (Issue NMS-8393)

  • BSM attributes not available in events and alarms (Issue NMS-8423)

  • Upgrade Newts to 1.3.6 (Issue NMS-8428)

  • Add a new control to open Backshift graphs in their own window (Issue NMS-8429)

  • Update NRTG to use Backshift instead of rrdgraph.js (Issue NMS-8435)

  • Provide a stress tool that can be used to stress the active persistence layer (Issue NMS-8436)

  • Forecast metrics using Backshift (Issue NMS-8448)

  • Implement a Datasource Factory based on Hikari CP (Issue NMS-8455)

  • Add custom string attributes based on indirect and complex SNMP Indices (Issue NMS-8484)

  • Improve built-in Newts graphs for easier diagnostics (Issue NMS-8495)

  • Alphabetize nodes in surveillance category listing (Issue NMS-8535)

Release 18.0.0

Release 18.0.0 is the latest stable release of OpenNMS. It contains a large number of bug fixes and new features. For a high-level overview of what’s changed in OpenNMS 18, see What’s New in OpenNMS 18.

The codename for 18.0.0 is Tardigrade.

  • "ADD NODE" produces "too much" config (Issue NMS-3489)

  • RrdUtils.createRRD log message is unclear (Issue NMS-4845)

  • should be deprecated and removed (Issue NMS-5788)

  • Bring WaterfallExecutor logging on par with RunnableConsumerThreadPool (Issue NMS-5839)

  • The retry handler used with HttpClient is not going to do what we expect (Issue NMS-5915)

  • No HTML title on Topology Map (Issue NMS-5970)

  • does not import requisitions with spaces in the name (Issue NMS-6344)

  • Eventd does not honor reloadDaemonConfig event (Issue NMS-6549)

  • Update JNA.jar library to support ARM based systems (Issue NMS-6623)

  • not included in jar (Issue NMS-7263)

  • SNMP Plugin tests regularly failing (Issue NMS-7471)

  • ArrayOutOfBounds Exception in Topology Map when selecting bridge-port (Issue NMS-7525)

  • non RFC conform behaviour of SmtpMonitor (Issue NMS-7582)

  • Remote poller dies when trying to use the PageSequenceMonitor (Issue NMS-7731)

  • Bridge Data is not Collected on Cisco Nexus (Issue NMS-7763)

  • NPE in JmxRrdMigratorOffline (Issue NMS-7792)

  • Slow LinkdTopologyProvider/EnhancedLinkdTopologyProvider in bigger enviroments (Issue NMS-7846)

  • Enlinkd bridge discovery creates erroneous entries in the Bridge Forwarding Tables of unrelated switches when host is a kvm virtual host (Issue NMS-7871)

  • 303 See Other on requisitions response breaks the usage of the Requisitions ReST API (Issue NMS-7872)

  • Integration tests in org.opennms.core.test-api.karaf have incomplete dependencies (Issue NMS-7880)

  • Slow BridgeBridgeTopologie discovery with enlinkd. (Issue NMS-7918)

  • Null pointer exceptions with whitespace in requisition name (Issue NMS-7922)

  • Bouncycastle JARs break large-key crypto operations (Issue NMS-7959)

  • XML namespace locations are not set correctly for namespaces cm, and ext (Issue NMS-7967)

  • Rest API v2 returns http-404 (not found) for http-204 (no content) cases (Issue NMS-7975)

  • Topology-UI shows LLDP links not correct (Issue NMS-8003)

  • Vacuumd sends automation events before transaction is closed (Issue NMS-8018)

  • opennms-setup.karaf shouldn’t try to start ActiveMQ (Issue NMS-8056)

  • Add the .xml and .cfg files to the Minion repo webapp (Issue NMS-8057)

  • Poll all interface w/o critical service is incorrect (Issue NMS-8058)

  • NullPointerException for NodeDiscoveryBridge (Issue NMS-8072)

  • The OnmsDaoContainer does not update its cache correctly, leading to a NumberFormatException (Issue NMS-8079)

  • VLAN name is not displayed (Issue NMS-8080)

  • Provisioning Requisitions with spaces in their name. (Issue NMS-8086)

  • JMX detector connection errors use wrong log level (Issue NMS-8096)

  • PageSequenceMonitor sometimes gives poor failure reasons (Issue NMS-8098)

  • init script checkXmlFiles() fails to pick up errors (Issue NMS-8104)

  • Heat map Alarms/Categories do not show all categories (Issue NMS-8116)

  • CXF returning 204 on NULL responses, rather than 404 (Issue NMS-8118)

  • Memory leak when using Groovy + BSF (Issue NMS-8125)

  • NPE if provisioning requisition name has spaces (Issue NMS-8128)

  • OpenNMS incorrectly discovers VLANs (Issue NMS-8137)

  • "Show interfaces" link forgets the filters in some circumstances (Issue NMS-8146)

  • Cannot search by MAC address (Issue NMS-8167)

  • Vaadin Applications do not show OpenNMS favicon (Issue NMS-8168)

  • Wrong interface status color on node detail page (Issue NMS-8189)

  • Return an HTTP 303 for PUT/POST request on a ReST API is a bad practice (Issue NMS-8194)

  • Provisioning UI indication for changed nodes is too bright (Issue NMS-8198)

  • Upgrade maven-bundle-plugin to v3.0.1 (Issue NMS-8208)

  • AlarmdIT.testPersistManyAlarmsAtOnce() test ordering issue? (Issue NMS-8214)

  • Chart servlet reloads Notifd config instead of Charts config (Issue NMS-8215)

  • Discovery config screen problems in latest code (Issue NMS-8216)

  • Operation "Refresh Now" and "Automatic Refresh" referesh the UI differently (Issue NMS-8221)

  • JasperReports measurements data-source step returning null (Issue NMS-8224)

  • Jaspersoft Studio cannot be used anymore to debug/create new reports (Issue NMS-8235)

  • Requisition synchronization is failing due to space in requisition name (Issue NMS-8240)

  • Many Rcsript (RScript) files in OPENNMS_DATA/tmp (Issue NMS-8248)

  • Test flapping: ForeignSourceRestServiceIT.testForeignSources() (Issue NMS-8257)

  • snmp4j does not process agent responses (Issue NMS-8272)

  • %post error when Minion host.key already exists (Issue NMS-8273)

  • All the defined Statsd’s reports are being executed even if they are disabled. (Issue NMS-8274)

  • %post failure in opennms-minion-features-core: sed not found (Issue NMS-8277)

  • Config Tester Tool doesn’t check some of the core configuration files (Issue NMS-8293)

  • Label of Vertex is too short in some cases (Issue NMS-8298)

  • Topology UI recenters even if Manual Layout is selected (Issue NMS-8299)

  • Center on Selection no longer works in STUI (Issue NMS-8300)

  • v2 Rest Services are deployed twice to the WEB-INF/lib directory (Issue NMS-8301)

  • Json deserialization throws "unknown property" exception due to usage of wrong Jax-rs Provider (Issue NMS-8302)

  • An error on threshd-configuration.xml breaks Collectd when reloading thresholds configuration (Issue NMS-8304)

  • Pan moving in Topology UI automatically recenters (Issue NMS-8313)

  • Weird zoom behavior in Topology UI using mouse wheel (Issue NMS-8314)

  • Ping is available for HTTP services (Issue NMS-8320)

  • Friendly name of an IP service is never shown in BSM (Issue NMS-8324)

  • Switching Topology Providers causes Exception (Issue NMS-8330)

  • Focal points are no longer persisted (Issue NMS-8335)

  • Non-existing resources or attributes break JasperReports when using the Measurements API (Issue NMS-8337)

  • Plugin Manager fails to load (Issue NMS-8353)

  • Incorrect documentation for org.opennms.newts.query.heartbeat (Issue NMS-8361)

  • The contents of the info panel should refresh when the vertices and edges are refreshed (Issue NMS-8371)

  • The placeholder {diffTime} is not supported by Backshift. (Issue NMS-8373)

  • The logic to find event definitions confuses the Event Translator when translating SNMP Traps (Issue NMS-8374)

  • License / copyright situation in release notes introduction needs simplifying (Issue NMS-8375)

  • Sluggish performance with Cassandra driver (Issue NMS-8379)

  • jmxconfiggenerator feature has unnecessary includes (Issue NMS-8383)

  • Requisitioning UI fails to load in modern browsers if used behind a proxy (Issue NMS-8386)

  • Document resources ReST service (Issue NMS-8388)

  • NoSuchElement exception when loading the TopologyUI (Issue NMS-8394)

  • Logging improvements to Notifd (Issue NMS-8395)

  • There are errors on the graph definitions for OpenNMS JMX statistics (Issue NMS-8401)

  • Create a better landing page for Configure Discovery aftermath (Issue NMS-2504)

  • Detect tables with Provisiond SNMP detector (Issue NMS-4229)

  • Allow other services to work with Path Outages other than ICMP (Issue NMS-5077)

  • Add ifAlias to bridge Link Interface Info (Issue NMS-5905)

  • Make the Provisioning Requisitions "Node Quick-Add" look pretty (Issue NMS-5979)

  • Expose SNMP4J 2.x noGetBulk and allowSnmpV2cInV1 capabilities (Issue NMS-7123)

  • Enhance Bridge Link Object Model (Issue NMS-7446)

  • Update BridgeTopology to use the new Object Model (Issue NMS-7447)

  • Update Bridge Topology Discovery Strategy (Issue NMS-7448)

  • Change icon for Dell PowerConnector switch (Issue NMS-7756)

  • Add Sonicwall Firewall Events (Issue NMS-7798)

  • Elasticsearch event and alarm forwarder (Issue NMS-7903)

  • Create an overview for the developers guide (Issue NMS-7950)

  • Add support for setting system properties via user supplied .properties files (Issue NMS-7965)

  • Merge OSGi Plugin Manager into Admin UI (Issue NMS-7976)

  • provide HTTPS Quicklaunch into node page (Issue NMS-7980)

  • Remove Dependencies on RXTX (Issue NMS-8015)

  • Refactor Enhanced Linkd Topology (Issue NMS-8041)

  • Provide link for Microsoft RDP connections (Issue NMS-8044)

  • Update asciidoc dependencies to latest 1.5.3 (Issue NMS-8063)

  • Allow user to access local documentation from OpenNMS Jetty Webapp (Issue NMS-8076)

  • Add NetGear Prosafe Smart switch SNMP trap events and syslog events (Issue NMS-8077)

  • Add OpenWrt syslog and related event definitions (Issue NMS-8092)

  • Disallow restricted characters from foreign source and foreign ID (Issue NMS-8129)

  • Update asciidoctorj to 1.5.4 and asciidoctorjPdf to 1.5.0-alpha.11 (Issue NMS-8149)

  • Collect and publish anonymous statistics to (Issue NMS-8152)

  • Remove Quick-Add node to avoid confusions and avoid breaking the ReST API (Issue NMS-8160)

  • Requisitions UI Enhancements (Issue NMS-8163)

  • ifIndex >= 2^31 (Issue NMS-8179)

  • Add HTTPS as quick-link on the node page (Issue NMS-8182)

  • Generate events for alarm lifecycle changes (Issue NMS-8205)

  • Upgrade junit to v4.12 (Issue NMS-8209)

  • Add support for calculating the derivative with a Measurements API Filter (Issue NMS-8210)

  • Add support for retrieving nodes with a filter expression via the ReST API (Issue NMS-8211)

  • External event source tweaks to admin guide (Issue NMS-8218)

  • Copyright bump on asciidoc docs (Issue NMS-8219)

  • Integrate the Minion container and packages into the mainline OpenNMS build (Issue NMS-8225)

  • Upgrade SNMP4J to version 2.4 (Issue NMS-8226)

  • Topology providers should provide a description for display (Issue NMS-8238)

  • Parameterize product name in asciidoc docs (Issue NMS-8251)

  • Cleanup testdata in SnmpDetector tests (Issue NMS-8259)

  • SNMP collection systemDefs for Cisco ASA5525-X, ASA5515-X (Issue NMS-8265)

  • SNMP collection systemDefs for Juniper SRX210he2, SRX100h (Issue NMS-8266)

  • Create documentation for SNMP detector (Issue NMS-8267)

  • Enable correlation engines to register for all events (Issue NMS-8271)

  • Be able to re-order the policies on a requisition through the UI (Issue NMS-8296)

  • Implement org.opennms.timeseries.strategy=evaluate to facilitate the sizing process (Issue NMS-8334)

  • Set the required fields when not specified while adding events through ReST (Issue NMS-8336)

  • Update screenshots with 18 theme in user documentation (Issue NMS-8349)

  • Add metric counter for drop counts when the ring buffer is full (Issue NMS-8365)

  • Applying some organizational changes on the Requisitions UI (Grunt, JSHint, Dist) (Issue NMS-8377)

  • Move the "vaadin-extender-service" module to opennms code base (Issue NMS-8236)