Horizon Karaf container not healthy after installing opennms-timeseries-api with opennms-plugins-cortex-tss

Description

I was in the process of adding time series dual-write support to the OpenNMS helm chart in onms-k8s-poc to write to both RRD and Cortex and I could not get the dual-write support to work. I eventually found a number of exceptions like this in the logs:

The issue of loading the opennms-timeseries-api was fixed in NMS-14874, but it appears that the Karaf container isn't healthy after loading it, regardless of whether a TSS plugin is loaded.

I have a PR with smoke tests that attempt to load plugins and check the health of the container (I tweaked one existing and added two new):

  1. Tweaked the TimeseriesAPIIT test to do a health-check afterwards. This currently fails (but it might be right for this to fail if there's no TSS plugin installed for it to delegate writes to).

  2. Added CortexTssPluginIT to test loading the Cortex plugin. This one works fine. It doesn't not currently attempt to read/write data.

  3. Added CortexTssTimeseriesPluginIT to test loading the Cortex plugin and the opennms-timeseries-api plugin. This fails in the same way as #1 above. This is the combination that a customer wants to be able to use.

PR: https://github.com/OpenNMS/opennms/pull/5526

Failures: https://app.circleci.com/pipelines/github/OpenNMS/opennms/25685/workflows/c80b9abd-d352-45e7-8227-5622ffa6394a/jobs/201528/tests

 

 

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

DJ Gregor December 5, 2022 at 5:02 PM

Done:

(note: this PR doesn’t just add smoke tests, it also fixes the issue, thanks to a commit that Chandra added to the branch)

DJ Gregor November 22, 2022 at 8:04 PM

Confirmed! It works! I got it working with onms-k8s-poc.

DJ Gregor November 22, 2022 at 6:40 PM

It looks like Chandra's fix he added to the PR took care of the test failures! I'm going to validate on my system and then test in onms-k8s-poc to make sure things look good.

DJ Gregor November 22, 2022 at 4:43 PM

Chandra noted: "the default constructor in blueprint is missing 2nd argument, StatisticsCollector here"

Unresolved

Details

Assignee

Reporter

HB Grooming Date

HB Backlog Status

Fix versions

Priority

PagerDuty

Created November 22, 2022 at 4:40 PM
Updated January 31, 2023 at 4:06 PM