This Week in OpenNMS: Who Bugs the Reporters?

Benjamin Reed <[email protected]> Mon, 19 Sep 2011 12:24:02 -0400
Newsgroups gmane.network.opennms.announce
Message-ID <4E776CA2.1070505__41639.6240158521$1316450512$gmane$org@opennms.org>
It's time for These Weeks in OpenNMS. (See what I did there? <g>) In the
last couple of weeks we fixed a lot more bugs in preparation for 1.10,
and released 1.8.14 and 1.9.91. Seth also did a HUGE triage of the JIRA
database, cleaning up a lot of duplicates, as well as un-closed issues
that have actually been resolved in the past.

Speaking of triaging the JIRA database, I'd like to re-post an article I
wrote on my personal blog
<http://www.raccoonfink.com/blog/2011/08/23/schrodingers-bugs/> about
reporting issues. The TL;DR version is: don't be afraid to open an
issue! Here it is in it's entirety:


  Schrödinger's Bugs

Working on an open-source project <http://www.opennms.org/> teaches you
a few things about dealing with software developers, and reporting bugs.
I've been in the open-source world for a long time, and I remember when
I first started out as a user of software, I felt glad to even have
access to these tools at all, and I felt a reluctance to "bother" the
developers with issues if I wasn't sure it was only me.

The problem is, issues are a bit like Schrödinger's cat
<http://wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat>: they don't exist
until the developer knows about them.

Since I've become a developer of open-source software and seen things
from the other side, I have one request: *err on the side of opening an
issue*. There's nothing I love more than having an issue opened, and
being able to /fix/ it, and tell the user their problem is solved. It's
that kind of feedback loop that is one of the best parts of developing
software without a marketing and sales department sitting between you
and your users.

So without further ado, I'd like to point out a few comments in this
vein. Note that when I say "issue," it could be anything: a showstopper
bug, an annoyance, or just a new feature you /wish/ the software had.

*Always Open an Issue*

    Sure, sometimes it's a pain to figure out where the issue reporter
    link is, and create an account, and validate your email, and figure
    out what component it goes into... but don't worry about it. If you
    get it in the wrong place, /they'll/ know where it belongs and
    (hopefully) triage it. But if you /don't/ open that issue, they may
    never know it's a problem.

*Don't Worry If It's a Duplicate*

    Of course, you should always try searching for your issue first,
    maybe someone else has reported it. Make a comment if someone has.
    But if you can't find it, don't worry that it might be a duplicate,
    go ahead and open that issue. As a developer, I'd rather close a
    million duplicates than to never know about the issue in the first
    place.

*Don't Just Describe the Issue, Describe What You're Trying to Do*

    It may be that the issue you're trying to solve is meant to work a
    different way, or is part of another feature you haven't used yet,
    or has a workaround. Make sure when you describe the problem you're
    having, also describe what you want to accomplish.

*A Closed Issue is Not an Ultimatum*

    This is a corollary to "describe what you're trying to do." Just
    because an issue is closed does not mean it is closed for
    discussion. Sometimes the developer doesn't realize what you're
    trying to actually do, or the original issue was described in a way
    that doesn't make it clear that the /real/ issue is elsewhere.

    For example, OpenNMS supports creating a "path outage," which
    describes how particular nodes are related. There was an issue
    opened that said if you created a path outage, it would be wiped out
    when using Provisiond. It was closed, saying that you create path
    outage relationships with the "parent-id" tag in the provisioning
    group file. What the issue did not say is that these
    manually-created path outages were created through the UI. So
    the /real/ issue is that the web UI path outage editor is not
    Provisiond-aware, and the issue should be reopened.

*It's Better to Be Too Verbose than Not Enough*

    Configuration files, logs, output from `dmesg` or similar, anything
    you can add that makes it easier to diagnose the problem. It's a lot
    harder to fix a problem with a one-line error message than with 200
    lines of context telling you what the software was doing just before
    the error. The more information you give, the more likely it is the
    developer will be able to figure out what's going on when the issue
    happened.

Does this mean your issue will be resolved quickly? Not necessarily.
Everyone has their own set of priorities, and their own time set aside
for working on issues. I can say that a good issue report, with a lot of
detail and a good description of what you're trying to accomplish, will
get a lot more traction than a 1-line report saying "it doesn't work,"
and it will get a /heck of a lot/ more traction than no report at all.
To paraphrase Wayne Gretzky
<http://thinkexist.com/quotation/you_miss-of_the_shots_you_never_take/227454.html>,
you miss fixing 100% of the issues you never report. ;)


  Project Updates

  * 1.8: Current Release is 1.8.14 (Red-breasted Nuthatch)
    1.8.14
    <http://www.opennms.org/documentation/ReleaseNotesStable.html#opennms-1.8.14> is
    the current stable release, tagged 13 Sep, 2011. For a complete list
    of changes and updates, see the "New and Noteworthy" page on the
    OpenNMS wiki
    <http://www.opennms.org/wiki/New_and_Noteworthy#New_in_OpenNMS_1.8.14>.
    As always, it is recommended that you back up your database before
    upgrading.
  * 1.9: Current release is 1.9.91 (Crumhorn)
    1.9.91 is the current unstable release, tagged 14 Sep, 2011. This
    release is not yet recommended for production use, but for
    developers and users who want to try out the very latest features,
    or for test environments to evaluate upgrades to 1.10 when it is
    released. For a list of changes and updates, see the "New and
    Noteworthy" page on the OpenNMS wiki
    <http://www.opennms.org/wiki/New_and_Noteworthy#New_in_OpenNMS_1.9.91>.


  Upcoming Events

OpenNMS training will be held in Fulda, Germany, September 26th through
30th, 2011. It is done in conjunction with our partner, NETHINKS
<http://www.nethinks.com/>. You can register on their site, here
<http://www.nethinks.com/opennms-schulung>.


  Issues Resolved

Since the last TWiO, the following issues were resolved as "fixed":

  * [NMS-1322 <http://issues.opennms.org/browse/NMS-1322>] -- CAPSD
    loops infinitely on misbehaving ipAddrTable
  * [NMS-2052 <http://issues.opennms.org/browse/NMS-2052>] -- small
    patch to add regex filtering of eventparms
  * [NMS-2374 <http://issues.opennms.org/browse/NMS-2374>] -- When
    running the database checker rethrow any exceptions with details
    (e.g.: database URL)
  * [NMS-2375 <http://issues.opennms.org/browse/NMS-2375>] -- Make the
    severity element in event configuration an enumeration and fix our
    default config files
  * [NMS-2738 <http://issues.opennms.org/browse/NMS-2738>] -- Include a
    failure reason in data collection failure events
  * [NMS-2812 <http://issues.opennms.org/browse/NMS-2812>] -- normalize
    radius code
  * [NMS-2822 <http://issues.opennms.org/browse/NMS-2822>] --
    PSQLException when discovering interface/address that has not yet
    been deleted from database
  * [NMS-2889 <http://issues.opennms.org/browse/NMS-2889>] -- Move
    org.opennms.netmgt.ping.Ping and its dependencies into jicmp package
  * [NMS-2907 <http://issues.opennms.org/browse/NMS-2907>] -- More
    reduction keys for APC events
  * [NMS-2977 <http://issues.opennms.org/browse/NMS-2977>] -- Deleted
    node appear in KSC report creation
  * [NMS-3005 <http://issues.opennms.org/browse/NMS-3005>] -- ONMS
    Version not display correct -- Windows install
  * [NMS-3066 <http://issues.opennms.org/browse/NMS-3066>] --
    JavaMailNotificationStrategy fails when passing -nm
  * [NMS-3073 <http://issues.opennms.org/browse/NMS-3073>] -- Weird
    redirect on login
  * [NMS-3143 <http://issues.opennms.org/browse/NMS-3143>] -- GUI error
    if we remove Switches from Surveillance
  * [NMS-3194 <http://issues.opennms.org/browse/NMS-3194>] -- Reporting
    is truncated by URL length limitation
  * [NMS-3319 <http://issues.opennms.org/browse/NMS-3319>] -- HTTPS
    don't support SSLv3-only servers
  * [NMS-3515 <http://issues.opennms.org/browse/NMS-3515>] -- Broken
    paged grid in Select SNMP Interfaces
  * [NMS-3540 <http://issues.opennms.org/browse/NMS-3540>] -- General
    node information not displayed using Internet Explorer 8 in IE7
    Compatability view or IE7
  * [NMS-3594 <http://issues.opennms.org/browse/NMS-3594>] -- provisiond
    does not create nodelabelchanged event
  * [NMS-3606 <http://issues.opennms.org/browse/NMS-3606>] -- WMI/WQL
    Poller -- Wrong text in event
  * [NMS-3622 <http://issues.opennms.org/browse/NMS-3622>] -- Allow
    HttpCollector and PageSequenceMonitor to accept all SSL certificates
  * [NMS-3651 <http://issues.opennms.org/browse/NMS-3651>] -- Create
    detectors for all protocol plugins
  * [NMS-3785 <http://issues.opennms.org/browse/NMS-3785>] -- Provisiond
    crashes against Procurve 1810G
  * [NMS-3823 <http://issues.opennms.org/browse/NMS-3823>] -- Clicking a
    Vlan interface (SVI) on a Cisco router throws Jasper Exception
  * [NMS-3848 <http://issues.opennms.org/browse/NMS-3848>] -- Reasons
    Missing From nodeLostService events
  * [NMS-3863 <http://issues.opennms.org/browse/NMS-3863>] -- provisiond
    has issues with two IPs on the same ifIndex -- I think
  * [NMS-3887 <http://issues.opennms.org/browse/NMS-3887>] -- webUI
    shows 100% availability although service is not monitored
  * [NMS-3912 <http://issues.opennms.org/browse/NMS-3912>] -- Alarm
    Description in Dashboard not formatted
  * [NMS-3959 <http://issues.opennms.org/browse/NMS-3959>] -- eventd
    logging missing file name
  * [NMS-3979 <http://issues.opennms.org/browse/NMS-3979>] --
    Notification Dashlet doesn't format HTML message text
  * [NMS-4020 <http://issues.opennms.org/browse/NMS-4020>] -- Too many
    CLOSE_WAIT on port 5817
  * [NMS-4029 <http://issues.opennms.org/browse/NMS-4029>] -- dns
    provisiond -- fqdn trailing dot
  * [NMS-4040 <http://issues.opennms.org/browse/NMS-4040>] -- SNMPPoller
    is the cause of loss of snmpinterfaces during the re-import /
    synchronization Provision Groups.
  * [NMS-4049 <http://issues.opennms.org/browse/NMS-4049>] -- Can't
    provision a node with one IP address and a policy to avoid all IP
    address
  * [NMS-4091 <http://issues.opennms.org/browse/NMS-4091>] -- Page
    Sequence Monitor and invalid SSL certificates
  * [NMS-4157 <http://issues.opennms.org/browse/NMS-4157>] --
    org.apache.mina.util.DefaultExceptionMonitor: Unexpected exception
  * [NMS-4232 <http://issues.opennms.org/browse/NMS-4232>] -- Configure
    scheduling outages via RESTful Web Service
  * [NMS-4390 <http://issues.opennms.org/browse/NMS-4390>] -- Nearly
    impossible to make head or tail of why Maven build is failing.
  * [NMS-4475 <http://issues.opennms.org/browse/NMS-4475>] -- Provisiond
    fails with a Unable to return specified BeanFactory instance
    exception at startup
  * [NMS-4502 <http://issues.opennms.org/browse/NMS-4502>] -- [patch]
    Show correct values in net-snmp CPU Usage graph
  * [NMS-4526 <http://issues.opennms.org/browse/NMS-4526>] -- Remote
    Poller implodes with lack of WMI classes
  * [NMS-4544 <http://issues.opennms.org/browse/NMS-4544>] -- Provisiond
    HOST-RESOURCES process detector
  * [NMS-4593 <http://issues.opennms.org/browse/NMS-4593>] -- Report
    Issue -- Surveillance Category Not Correctly Chosen
  * [NMS-4673 <http://issues.opennms.org/browse/NMS-4673>] -- Discovery
    fails with JNA pinger
  * [NMS-4675 <http://issues.opennms.org/browse/NMS-4675>] -- Resource
    Graph Resources -- limited to 55 Resources or less
  * [NMS-4683 <http://issues.opennms.org/browse/NMS-4683>] -- SNMP
    interface poller filtering not allowing data collection after
    provisioning group sync
  * [NMS-4704 <http://issues.opennms.org/browse/NMS-4704>] -- Service
    monitored with 100% availability instead of Not Monitored
  * [NMS-4749 <http://issues.opennms.org/browse/NMS-4749>] --
    Requisition REST Service allows duplicate nodes
  * [NMS-4754 <http://issues.opennms.org/browse/NMS-4754>] -- Event
    analysis report, missing legend in pie graph
  * [NMS-4799 <http://issues.opennms.org/browse/NMS-4799>] -- Events
    generated from trapd are not associated with any node
  * [NMS-4800 <http://issues.opennms.org/browse/NMS-4800>] -- Node.jsp
    -- double clicking physical interfaces goes to interface.jsp instead
    of snmpinterface.jsp
  * [NMS-4815 <http://issues.opennms.org/browse/NMS-4815>] -- Make Jetty
    headerBufferSize property configurable
  * [NMS-4817 <http://issues.opennms.org/browse/NMS-4817>] -- Null (\0)
    characters in logmsg field of events causes
    org.postgresql.util.PSQLException: ERROR: invalid byte sequence for
    encoding "UTF8?: 0×00
  * [NMS-4831 <http://issues.opennms.org/browse/NMS-4831>] -- notifd.log
    -- Info if message was send
  * [NMS-4833 <http://issues.opennms.org/browse/NMS-4833>] -- Poorly
    used INFO log message
  * [NMS-4834 <http://issues.opennms.org/browse/NMS-4834>] -- Remote
    Poller state changes from Paused to Running
  * [NMS-4838 <http://issues.opennms.org/browse/NMS-4838>] -- jmx
    collector does direct db lookup of nodeid
  * [NMS-4839 <http://issues.opennms.org/browse/NMS-4839>] -- Check if a
    node is currently covered by a scheduled outage using Rest
  * [NMS-4841 <http://issues.opennms.org/browse/NMS-4841>] -- OpenNMS
    Version not displayed correctly
  * [NMS-4845 <http://issues.opennms.org/browse/NMS-4845>] --
    RrdUtils.createRRD log message is unclear
  * [NMS-4851 <http://issues.opennms.org/browse/NMS-4851>] --
    Notification not being sent event if status="on", looks like notifd
    is not using the status in the config file properly
  * [NMS-4853 <http://issues.opennms.org/browse/NMS-4853>] -- unit tests
    on windows creates directories outside of temp directory
  * [NMS-4857 <http://issues.opennms.org/browse/NMS-4857>] --
    StorageStrategy documentation does not match API in code
  * [NMS-4861 <http://issues.opennms.org/browse/NMS-4861>] -- Runaway
    threads consuming CPU when rendering certain graphs
  * [NMS-4871 <http://issues.opennms.org/browse/NMS-4871>] -- With Jetty
    + HTTPS, certain Web UI actions prompt browser to "Save As" JSP and
    HTML files
  * [NMS-4872 <http://issues.opennms.org/browse/NMS-4872>] -- Show all
    nodes with asset info not working
  * [NMS-4880 <http://issues.opennms.org/browse/NMS-4880>] --
    java.lang.ClassCastException when building an event notification
    with a category filter
  * [NMS-4882 <http://issues.opennms.org/browse/NMS-4882>] -- IP address
    formatting does not match
  * [NMS-4886 <http://issues.opennms.org/browse/NMS-4886>] --
    HttpCollector ignores "port" parameter from Collectd config
  * [NMS-4895 <http://issues.opennms.org/browse/NMS-4895>] -- 1.9.90
    newer graphics display inconsistency -- node.jsp
  * [NMS-4899 <http://issues.opennms.org/browse/NMS-4899>] -- notifd
    DEBUG message "supress" mispelling
  * [NMS-4903 <http://issues.opennms.org/browse/NMS-4903>] -- base-url
    not used when viewing resource graphs
  * [NMS-4913 <http://issues.opennms.org/browse/NMS-4913>] -- Change
    StorageStrategy to throw an IllegalArgumentException when the
    arguments (or parameters) are not properly configured on
    datacollection-config.xml
  * [NMS-4914 <http://issues.opennms.org/browse/NMS-4914>] -- wrong
    implementation of
    org.opennms.netmgt.correlation.Correlator$EngineAdapter.getName() ?
  * [NMS-4917 <http://issues.opennms.org/browse/NMS-4917>] -- update ksc
    page
  * [NMS-4921 <http://issues.opennms.org/browse/NMS-4921>] -- after
    upgrade to 1.8.13 RadiusAuthMonitor gives exception "The RADIUS
    Server returned the wrong Identifier"
  * [NMS-4923 <http://issues.opennms.org/browse/NMS-4923>] -- Add
    PostgreSQL 9.1 support
  * [NMS-4926 <http://issues.opennms.org/browse/NMS-4926>] -- OpenNMS
    1.8.14-1 fails to install on Ubuntu Server 10.04.3 LTS , reason
    opennms-db depends on iplike-pgsql91 which is not available at
    debian.opennms.org
  * [NMS-4931 <http://issues.opennms.org/browse/NMS-4931>] --
    Availability Miscalculated in NodeAvailabilityReport.jrxml (and others)


  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 or criticism that you'd like to share,
don't hesitate to say hi <mailto:[email protected]>.



-- 
Benjamin Reed
The OpenNMS Group
http://www.opennms.org/

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1

_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq

opennms-announce mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-announce