OpenNMS RI

JOSIF Main Page | JOSIF Platform | Prototype CTK RI Project OpenNMS RI

Introduction

The OpenNMS RAM Reference Implementation use the libraries developed as part of the RI to integrate a RAM interfae into OpenNMS. Note - This code is experimental and not yet production quality however it is suitable for testing against the TIP interfae in the RAM Catalyst

Installation

connecting to the hosted interface. The OpenNMS system intended for testing is hosted at

to see the alarm list go to

The RAM services are visible at

The RAM resource alarm handling serviceinterface is hosted at

The alarm iterator service is hosted at

Note that for testing an iterator request with iteratorID="0" will always return an empty iterator response

functionality

The interface supports the RAM simple alarm profile (getAllalarms)

The alarm list allows you to register for events and unregister for events
Heartbeat events and new alarm, alarm acknowledged and alarm cleared events are sent.

Installation of a local OpenNMS RAM interface

You can install and run up your own version of the OpenNMS RAM interface using the following steps;

NOTE THIS NEED UPDATED

1. Install the Stable: 1.8.15 (current release) version of OpenNMS on linux or windows following the instructions at

2. test that it works by running up the UI

3. stop opennms

4. download the OpenNMS RAM code 'OpenNMS_TIP_RAM_Plugin-1.0.1-SNAPSHOT.war' from

5. go to the opennms installation location and locate the libraries folder at OpenNMS/lib. Remove the following files

OSSbeans-qos-ejb-2.1.0.jar
OSSbeans-xml-2.1.0.jar
these contain ejb files associated with the OSS/J Qos interface and will interfere with the TIP interface

5. copy OpenNMS_TIP_RAM_Plugin-1.0.1-SNAPSHOT.war to OpenNMS/webapp

use an unzip archiver to unpack OpenNMS_TIP_RAM_Plugin-1.0.1-SNAPSHOT.war to OpenNMS_TIP_RAM_Plugin-1.0.1-SNAPSHOT

6. rename OpenNMS_TIP_RAM_Plugin-1.0.1-SNAPSHOT to RI

the opennms /webapp folder should now contain
opennms /webapp
opennms
opennms-remoting
RI
ROOT

7. open RI\WEB-INF\lib and MOVE the jar 'javaee-api-5.0-3.jar' to the OpenNMS lib directory; \OpenNMS\lib

8. open /OpenNMS/lib and remove activation-1.1.jar

the last steps 7 and 8 are needed because of a conflict between the version of javax.activation in activation-1.1.jar and that in javaee-api-5.0-3.jar. We need javaee-api-5.0-3.jar to be on the classpath for openejb

The error without this step is: java.lang.LinkageError: loader constraint violation: when resolving overridden method
"org.apache.cxf.jaxb.attachment.JAXBAttachmentUnmarshaller.getAttachmentAsDataHandler(Ljava/lang/String;)Ljavax/activation/DataHandler;" the class
loader (instance of org/mortbay/jetty/webapp/WebAppClassLoader) of the current class, org/apache/cxf/jaxb/attachment/JAXBAttachmentUnmarshaller, and
its superclass loader (instance of <bootloader>), have different Class objects for the type javax/activation/DataHandler used in the signature
at org.apache.cxf.jaxb.JAXBDataBase.getAttachmentUnmarshaller(JAXBDataBase.java:79)

9 start opennms and the RAM interface should be at http://localhost:8980/RI/services/ResourceAlarmHandlingService

If you use the CTK to poll the interface you will see the alarm list being sent.

source code

The code for the OpenNMS RAM interface is hosted at

To build it you should do a mvn clean install in the 'BaseProject'
Please note that this code relies on the RAM interface having already been built. Unfortunately the RAM source code is not open source and you need to be a TM Forum member to access it.