Re: Setting up OpenNMS 19.0.1 with OTRS 5.0.12

Holger Goßmann <[email protected]>
Newsgroups gmane.network.opennms.general
Message-ID <[email protected]>
Hi Niels,

 

have you installed the plugin?

yum -y install opennms-plugin-ticketer-otrs.noarch

 

Regards,

Holger

 

 

Von: Niels Tomey [mailto:[email protected]] 
Gesendet: Mittwoch, 29. März 2017 18:38
An: General OpenNMS Discussion
Betreff: Re: [opennms-discuss] Setting up OpenNMS 19.0.1 with OTRS 5.0.12

 

Hi David,

> In the documentation found here https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration
> I have followed the instrutions and created the otrs.properties file, but this doesn’t seem to referenced anywhere.

I’m not following you here.

I meant that I cannot find any references to this file in any of the other files.

As the file otrs.properties does not exist I have created it. The commented file in https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration seems pretty complete to me. I have copy paste'd the entire file into $OPENNMS_HOME/etc/otrs.properties. I've made the following changes:

In opennms.properties:

line 186: commented out 
# opennms.ticketer.plugin=org.opennms.netmgt.ticketd.NullTicketerPlugin

line 204-206: uncommented: 

opennms.ticketer.plugin=org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin
opennms.alarmTroubleTicketLinkTemplate = <a href="http://<<snip otrs url>>/otrs/index.pl?Action=AgentTicketZoom <http://index.pl?Action=AgentTicketZoom&TicketNumber=$%7bid%7d> &TicketNumber=${id}">${id}</a>
opennms.alarmTroubleTicketEnabled = true

In otrs.properties:

line 51: uncommented:

http:// <http://%3c%3csnip> <<snip otrs url>>/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector

line 72-73: entered username and password (of a regular otrs user as the comments indicate special soap user is not required for >3.1.x (I have 5.0.12)

 

Then when I restart opennms it will fail after some time (about 20 seconds) with a connection refused error:

[root@opennms etc]# systemctl stop opennms
[root@opennms etc]# systemctl start opennms
[root@opennms etc]# ../bin/opennms -v status
OpenNMS.Eventd         : start_pending
OpenNMS.Trapd          : start_pending
OpenNMS.Queued         : start_pending
OpenNMS.Actiond        : start_pending
OpenNMS.Notifd         : start_pending
OpenNMS.Scriptd        : start_pending
OpenNMS.Rtcd           : start_pending
OpenNMS.Pollerd        : start_pending
OpenNMS.PollerBackEnd  : start_pending
OpenNMS.EnhancedLinkd  : start_pending
OpenNMS.Ticketer       : start_pending
OpenNMS.Collectd       : start_pending
OpenNMS.Discovery      : start_pending
OpenNMS.Vacuumd        : start_pending
OpenNMS.EventTranslator: start_pending
OpenNMS.PassiveStatusd : start_pending
OpenNMS.Statsd         : start_pending
OpenNMS.Provisiond     : start_pending
OpenNMS.Reportd        : start_pending
OpenNMS.Bsmd           : start_pending
OpenNMS.Alarmd         : start_pending
OpenNMS.Ackd           : start_pending
OpenNMS.JettyServer    : start_pending
opennms is partially running
[root@opennms etc]# ../bin/opennms -v status
OpenNMS.Eventd         : start_pending
OpenNMS.Trapd          : start_pending
OpenNMS.Queued         : start_pending
OpenNMS.Actiond        : start_pending
OpenNMS.Notifd         : start_pending
OpenNMS.Scriptd        : start_pending
OpenNMS.Rtcd           : start_pending
OpenNMS.Pollerd        : start_pending
OpenNMS.PollerBackEnd  : start_pending
OpenNMS.EnhancedLinkd  : start_pending
OpenNMS.Ticketer       : start_pending
OpenNMS.Collectd       : start_pending
OpenNMS.Discovery      : start_pending
OpenNMS.Vacuumd        : start_pending
OpenNMS.EventTranslator: start_pending
OpenNMS.PassiveStatusd : start_pending
OpenNMS.Statsd         : start_pending
OpenNMS.Provisiond     : start_pending
OpenNMS.Reportd        : start_pending
OpenNMS.Bsmd           : start_pending
OpenNMS.Alarmd         : start_pending
OpenNMS.Ackd           : start_pending
OpenNMS.JettyServer    : start_pending
opennms is partially running
[root@opennms etc]# ../bin/opennms -v status
Could not connect to the OpenNMS JVM (OpenNMS might not be running or could be starting up or shutting down): Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
    java.net.ConnectException: Connection refused (Connection refused)]
opennms is stopped
[root@opennms etc]# ../bin/opennms -v status
Could not connect to the OpenNMS JVM (OpenNMS might not be running or could be starting up or shutting down): Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
    java.net.ConnectException: Connection refused (Connection refused)]
opennms is stopped
[root@opennms etc]# 

In /var/log/opennms/output.log I can see the following java error:

Mar 30, 2017 12:20:21 AM org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 4.3.2.Final
An error occurred while attempting to start the "OpenNMS:Name=Ticketer" service (class org.opennms.netmgt.ticketd.jmx.TroubleTicketer).  Shutting down and exiting.
javax.management.RuntimeMBeanException: org.springframework.beans.factory.access.BootstrapException: Unable to return specified BeanFactory instance: factory key [troubleTicketerContext], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:839)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:852)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:821)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:278)
    at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:207)
    at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:154)
    at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:94)
    at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:173)
    at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:150)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.opennms.bootstrap.Bootstrap$4.run(Bootstrap.java:464)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.access.BootstrapException: Unable to return specified BeanFactory instance: factory key [troubleTicketerContext], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:403)
    at org.opennms.core.spring.BeanUtils.getBeanFactory(BeanUtils.java:79)
    at org.opennms.core.spring.BeanUtils.getFactory(BeanUtils.java:131)
    at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon$1.run(AbstractSpringContextJmxServiceDaemon.java:103)
    at org.opennms.core.logging.Logging.withPrefix(Logging.java:71)
    at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon.init(AbstractSpringContextJmxServiceDaemon.java:96)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
    at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    ... 13 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:278)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:981)
    at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:395)
    ... 33 more
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270)
    ... 43 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:687)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
    ... 45 more
Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:480)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:512)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:506)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1503)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1462)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1198)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    ... 60 more
Caused by: java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin]
    at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:282)
    at org.springframework.beans.propertyeditors.ClassEditor.setAsText(ClassEditor.java:63)
    at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:430)
    at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:403)
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:181)
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:460)
    ... 66 more
Caused by: java.lang.ClassNotFoundException: org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:246)
    at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:279)
    ... 71 more
[root@opennms opennms]# 

 

When I revert the changes it works again just fine, so it seems that the Otrs31TicketerPlugin cannot be found?

 

I can help update the documentation once I've got it to work, no problem at all.

regards,

Niels

 

On Mar 29, 2017 21:32, "david" <[email protected]> wrote:


> On Mar 28, 2017, at 2:58 AM, Niels Tomey <[email protected]> wrote:
>
> Hi,
> I’m setting up a brand new OpenNMS instance running on CentOS 7, and I want to integrate this with my existing OTRS (5.0.12) setup.
> I’m getting confused with the configuration files mentioned in the file comments and in the documentation.

Me, too. ;)



> While editing /opt/opennms/etc/opennms.properties the comments say:
> # NOTE: if you enable a trouble-ticketing plugin here, you must also edit
> # $OPENNMS_HOME/jetty-webapps/opennms/WEB-INF/configuration.properties
> However this file does not exist.

That’s probably an error in the comments of that file.  I don’t think configuration.properties is valid any more.



> In the documentation found here https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration
> I have followed the instrutions and created the otrs.properties file, but this doesn’t seem to referenced anywhere.

I’m not following you here.



> OpenNMS now fails to start, unless I revert the changes.

Have you checked the logs to see why it failed to start?



> Am I looking at outdated documentation perhaps? Can someone point towards a guide to accomplish this?

I’m guessing that the most recent documentation for that feature is still what you are reading.  Perhaps we can update that documentation as part of this conversation.



David Hustace
The OpenNMS Group, Inc.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-discuss mailing list

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

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-discuss mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-discuss
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.