This Week in OpenNMS: Season 1.8, Episode 3: 1.8.1 and Fixing Bugs

[Note: Ben has been writing these for some time now, but I figured it is worth highlighting them on the blog, too. They can always be found in the News section of]

It’s time for This Week in OpenNMS. In the last week, we did some more work in preparation for 1.8.1, worked a bit more on the iPhone/iPad app, and did a huge amount of bugfixing.

Project Updates

  • 1.8: Current Release is 1.8.0
    1.8.0 is the current stable release, tagged June 7th. The first major stable release in the 1.8 series, it adds a whole slew of new features compared to 1.6. For a high-level overview, see the “New and Noteworthy” page on the OpenNMS wiki. While we consider this release to be stable, a ton has changed. It is recommended that you back up your database, and test an upgrade on non-production hardware before moving to 1.8 in production.
  • 1.8: Inline Thresholding Regression
    Inline thresholding was enabled in the default configs late in the 1.6 series, but it was never enabled by default in the 1.7 branch, so 1.8.0 was released without inline thresholding enabled. This was changed with the fixing of bug #3912, so be aware when merging configs when 1.8.1 comes out!
  • 1.8: Remote Poller Maps Updates
    Matt, Donald, and I did a bunch of work on the remote poller maps, doing a huge amount of optimization of the queries used to pull poller data into the UI, adding support for Mapquest’s click and double-click behaviour (center, and center+zoom), and adding support for multiple map types in the OpenLayers implementation.
    OpenLayers Maps
  • 1.8: Tons of Bug Fixes
    I did a bunch of work going through Bugzilla this week, trying to close out bugs in preparation for 1.8.1, which will go into code slush next monday, and be released on the 12th.

Bugs Fixed Since Last TWiO

  • #1181: Collectin Windows disk space, trying to poll the CD drive
  • #1920: javamail using authentication encodes the username and password twice
  • #1959: Too many calls to getlocahost()
  • #2922: PSQLException in poller backend: DB field length exceeded on remote location monitor status update
  • #2944: java.lang.NullPointerException on KSC Graphs
  • #3124: HttpMonitor doesn’t check JSON repsonses for response-text
  • #3192: New Feature: allow syslogd to bind to specific ipaddress
  • #3280: Equallogic iSCSI array performance data
  • #3283: Reparenting of iLO interface on HP servers not working with ESX4
  • #3291: provisiond : snmpinterfaces not created
  • #3296: running the installer without the database running throws an exception about “The database server’s error messages are not in English”
  • #3306: 1.7.svn (fresh today) does not show service, availability on node page
  • #3514: default datacollection-config.xml breaks alias length limit
  • #3536: Unable to use the “percent sign (%)” in a notification text message
  • #3576: Fix script to encode time in DateFormat.LONG
  • #3578: Incorrect http content-type header for svg request
  • #3589: Advanced Alarm Search some of the Sort by options don’t work properly
  • #3598: An Exception occurs when you try to create a surveillance category that already exists.
  • #3622: Bugs with Hyperic servlets
  • #3624: Rename from Import to Synch(cronize) in Prov Groups
  • #3632: admin role is negated for users also in readonly role
  • #3637: JasperException PWC6033
  • #3644: trying to add list of ip range to discover
  • #3656: mib2opennms does not install in Debian Lenny
  • #3675: Events missing page counter
  • #3722: Debian Packages: opennms-contrib missing dependency for libxml-twig-perl
  • #3847: Page Sequence Monitor still submitting multiple ‘Cookie:’ response headers even with BROWSER_COMPATIBILITY is enabled
  • #3869: Data Collection Failed Event (dataCollectionFailed) not informative
  • #3871: linkd not showing links between nodes and cisco switches
  • #3899: Patch: allow per node filtering in notifications list
  • #3900: dashboard user has security issues
  • #3901: add support for click/double-click handlers
  • #3910: Patch: display First Next Previous links in events list at the bottom of the page
  • #3912: inline thresholding is no longer enabled by default
  • #3915: regular expression “pattern”s in XSDs are not evaluated
  • #3923: Stale location specific status change events should be deleted
  • #3924: NPE handled too gracefully by MailAckProcessor in Ackd

Goof-Up of the Week

Jeff relayed this tale of the importance of having priorities in scrum this morning… :)

I spent last week helping a telecoms industry client implement OpenNMS. Toward the end of the second day we decided to switch from Capsd discovery to Provisiond requisitions, so I wrote a small script that
reads an inventory dump from their old NMS (CA Spectrum) and creates an OpenNMS requisition describing the same nodes. The database was full of junk events from before we’d put in place some new SNMP trap definitions, so I went about removing all that stuff manually before importing the new requisition. Several folks were going out for a beverage and invited me along, so I hurried in order not to hold them
up. The next morning there were over 600 nodes in the system instead of the 391 I was expecting. I double-checked that Capsd was turned off, that Provisiond was not handling newSuspect events, and that there were in fact no such events in the database, then contacted the development team about my suspicion of a bug. After nearly an hour, the client mentioned that he was seeing some duplicate nodes that didn’t have any events, alarms, or notifications associated with them. Only then did it dawn on me that, in my haste to get my hands on some suds, I had forgotten to delete the old nodes themselves before importing the new requisition!

Upcoming Events

  • July 7th-9th, 2010: Ben will be speaking at OpenStreetMaps’ State of the Map 2010, in Girona, Spain.
  • July 21st, 2010: Tarus will be giving his “So, You Think You Want to Start an Open Source Business?” talk at OSCON
  • July 26th-30th, 2010: OpenNMS Dev-Jam 2010 will be held at the University of Minnesota in Minneapolis, MN

If you have anything to add to the events list, please let me know.

Until Next Week…

As always, if there’s anything you’d like me to talk about in a future TWiO, or you just have a comment, criticism, or blocking bug closing machines that you’d like to share, don’t hesitate to say hi.

Brian Aker on Open Core

Brian Aker and I don’t always see eye to eye, but we agree much more than we disagree. I really enjoyed his post today about the open core business model. While not as damning as the one Brian Prentice wrote about the Emperor’s new clothes, it brings home a lot of points from someone who has a lot more open source cred than me, and who has lived through it. Perhaps this will lead to an awakening of the market to the severe limitations of open core when compared to true free and open source software.

2010 Self – Days 2 and 3

I hope my three readers will accept my apologies for not blogging much lately. Things have been crazy busy around here as there has been a rather large upsurge in interest about OpenNMS and our services and it has kept me on my toes.

Where were we?

Oh, yes, when we last left our intrepid open source hero he was at the SouthEast LinuxFest, partaking of various libations with friends, new and old. So I guess I should start talking about the show itself.

The first keynote was on Saturday at 8am. If there was one complaint I could make about SELF is that they really tried to cram a lot into the weekend. Early starts on both days (not good for geeks) plus something like five tracks along with an Ubuntu conference and a Drupal conference. Starting a conference at 8am on a Saturday is pretty odd, and the speaker, Ubuntu’s Jono Bacon, remarked on it.

Jono gave a great talk as usual. I especially liked his introduction where he explored the whole conference-speaking process. One quite often has to submit a presentation topic several months in advance. Rarely are the ideas behind the presentation fully formed at that time, and they are subject to change. Thus one tends to submit a fairly vague, but it is hoped interesting, presentation idea to the conference committee. If it is rejected, no harm no foul, since you really haven’t spent that much time on it. However, if it gets accepted, you tend to forget about it and end up writing the thing on the plane flight to the conference.

This isn’t exactly true, but there are enough nuggets of truth in it to make it funny.

After the talk I got to meet Jeremy Foshee, a fellow North Carolinian and an Ubuntu kernel guy. He’s very funny, and he showed up with a Kevin Bacon T-shirt on where he had marked out “Kevin” and replaced it with “Jono”.

We then set up the OpenNMS booth and had a pretty high level of traffic throughout the day.

My first talk was at 1pm and I gave an updated version of my starting an open source business presentation. It was pretty well attended and I think it went well, and I got quite a few positive comments and questions afterward.

Then I worked the booth until 4pm, when I participated in an open source management tool roundtable. Moderated by Jon “Maddog” Hall, it featured Matt Ray from Zenoss, Tara Spalding from GWOS, and yours truly.

Now, I’ve always wanted a platform where I could really sock it to these “open core” vendors and emphasize the huge advantage OpenNMS offers by being truly open source software. Unfortunately, this wasn’t the place.

First off, I like Matt Ray a lot, and while I have only met Tara twice she seems nice enough. It would be hard to really tear into their companies’ horrible bait and switch practices without seeming to attack them personally, which I really didn’t want to do.

Second, the roundtable was rather sparsely attended and I could tell that the audience wasn’t there to hear me pontificate on open source vs. open core.

And finally, one of the first questions came from one of the SELF organizers who was also a Zen Master (a recognition program that Zenoss modeled loosely on our own Order of the Green Polo). The last thing I would want to do is come across as both insulting a host and making fun of this guy’s commitment to his project.

Look, I’m glad that these companies are producing open source software, I just get upset when they tout themselves as open source companies when in fact their business model is almost entirely based on selling commercial software licenses (some with rather onerous terms). But I am also a big fan of “if it works and you can afford it, use it”.

If their was one group of people I could reach it would be any organization interested in buying one of these commercial “open core” software companies. When figuring up a value for them don’t forget me. I am dedicated to delivering the best features of these companies as truly free and open source software. While I don’t have millions to make it happen overnight, running a profitable company means I have time on my side, and eventually the value of what you are planning to buy is going to be reduced to zero if the plan is to make money selling commercial software.

But I didn’t say any of that.

Instead I decided to accentuate the positive and focus on the benefits of OpenNMS: its power, flexibility, scalability, the fact that its been around for over a decade and, yes, the fact that it is 100% free software.

Thus the panel was a pleasant, if a bit dull, way to spend a hour, and I hope the few people who showed up got something out of it.

This was the last presentation of the day, but there were a number of “birds of a feather” sessions held later that night. I was particularly interested in one Maddog was doing on Project Cauã.

Project Cauã is an extremely ambitious project to address many issues, especially a number of those that are plaguing the developing world. It aims to combine open source software and hardware to deliver a number of services that are often done separately, such as television, internet, phone, home automation and security. By utilizing thin clients coupled with server farms, the idea is to save on energy costs. It also aims to address unemployment, by training people to manage deployments of this hardware and software in a profitable manner, backed by a franchise-like organizational structure than can deliver the whole solution in a turn-key fashion. So deliver more services, decrease energy use, increase employment and create profit in the process – didn’t I say it was ambitious?

I am also not doing the whole thing justice, so be sure to check out the site and to go and see Maddog speak if you are at a conference where he is talking about the project.

After his BoF came the good part – more socializing. Since I was scheduled to speak on Sunday, I tried to make it an early night, and somewhat succeeded.

My talk on Sunday started at 9am, and I experienced something I never had before: a totally empty auditorium. Seriously, at 9am there was nobody there. Talk about a blow to one’s ego. However, mine wasn’t the only empty room and by 9:15 we had about 20 or 30 people show up to hear about OpenNMS.

This was a new talk, and I think it went pretty well. In our training classes we tend to spend the entire first day talking about the features of OpenNMS, so it was hard to cram all of them into two hours, but I focused on the four main areas of the application (provisioning, event management, service assurance and data collection) and illustrated each one with an example.

When that was over I went back to the booth, but the traffic dropped down dramatically over Saturday. Since it was a long drive back home, we decided to tear down about 3pm and head out.

All in all it was a good show. I met some new friends and reconnected with some old ones. The only advice I would give is to scale it back next year, start a little later and have fewer tracks.

As for upcoming events, I’ll be in OSCON in July followed by our annual Developer’s Conference, Dev-Jam. There is still time to register if you are interested in attending, and hope I get to see you there.