This week we released two new versions of OpenNMS.
Infrastructure
Before I talk about the releases, I want to mention infrastructure. Running an open source project is only partially about the code itself. There is a lot of stuff that goes into managing that code and making it useful.
One major change that has been made is in the build system. OpenNMS depends on a number of outside projects, and the build system was not optimized to deal with different aspects of the code using the same libraries. Since we use maven, a lot of work went in to separating the “build” portion of the process from the “assembly” portion. This should make builds run much, much faster, and for once our Debian nightly snapshots are running (RPM-based snapshots have worked for some time).
Another change is that we’ve migrated from using Bugzilla as our issue tracker to Jira. The folks at Atlassian were kind enough to give us a license, and while we prefer open source solutions, Jira works a lot better with our Agile development methods.
Finally, while this isn’t new per se, for those of you who struggle with managing OpenNMS configuration files, you may want to consider using git. In our classes we teach best practices to make this easier, and combined with git it can be much, much faster to upgrade.
New in 1.9.3
Please remember that this release is the cutting edge of OpenNMS and is probably not suitable for production. There is a lot of work going on in this branch specifically around IPv6 support.
The architecture of OpenNMS is such that adding support for IPv6 definitely will not require a rewrite of the entire software, but there are a number of things that must happen before it can fully support IPv6.
Most of those things have been addressed, including changing the iplike function to deal with IPv6 addresses, and while it is possible to play with this now, it should be easy to explore in the next release.
One of the big issues is how to do discovery, since a particular IPv6 address range can be prohibitively large to scan. We plan to develop different “listeners” that can use wire protocols to discover IPv6 addresses. Of course, the ability to manually configure IPv6 addresses exists already, but it won’t scale to the enterprise.
For full details, visit New and Noteworthy.
New in 1.8.7
OpenNMS is our production, stable release and this version is recommended for everyone.
As such, we try not to make any huge changes that could introduce bugs, so these are mainly maintenance releases with bug fixes.
However, there are some new features. One of my favorite is the SNMP Asset Provisioning Adapter:
http://www.opennms.org/wiki/SNMP_Asset_Provisioning_Adapter
This allows OpenNMS to populate asset fields for nodes using SNMP. It has been around for awhile but since I haven’t mentioned it before now, I wanted to do so.
Also, we are continuously adding new database reports based on our JasperReports integration. We have added the ability to gather data from the JRobin RRD files and to include that in these reports.
As always, we welcome contributions from the community so if you come up with a cool report, be sure to send it in (just open an issue at http://issues.opennms.org)
For more info on 1.8.7 visit New and Noteworthy.
We hope that you enjoy these changes and find value in what we do.