JDBC via Minion fails to find 3rd party classes

Description

All three of org.opennms.features.jdbc-collector, org.opennms.opennms-detector-jdbc, and org.opennms.features.poller.monitors.core fail to load third party classes for JDBC.

It was my understanding that with the fix in NMS-9829, adding the 3rd party jars to $MINION_HOME/lib, and adding the classes to

would be sufficient for loading jdbc driver classes in the minion. However, instead we receive:

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Chandra Gorantla February 25, 2019 at 5:43 PM

Since `bundle:install` won't survive after reboot. The bundle needs to be installed as a a feature and it should be deployed in minion.

Documented in PR: https://github.com/OpenNMS/opennms/pull/2366

Chandra Gorantla February 20, 2019 at 9:51 PM
Edited

Since we already have  <DynamicImport-Package>*</DynamicImport-Package> in the specific detector/poller/collector packages, placing specific driver jar in minion repositories and installing it as bundle should be sufficient.

For ex: For mysql jar, I pulled mysql-connector-java-8.0.15.jar into repositories/core/mysql/mysql-connector-java/8.0.15/
and then installed bundle with bundle:install -s wrap:mvn:mysql/mysql-connector-java/8.0.15

This resolved the ClassNotFoundException issue and the detector/poller/collector worked fine for me.

Fixed

Details

Assignee

Reporter

Components

Sprint

Affects versions

Priority

PagerDuty

Created February 8, 2019 at 8:28 PM
Updated March 10, 2019 at 12:01 PM
Resolved March 10, 2019 at 12:01 PM