Repository navigation
chore(collectd): remove deprecated JMX-Cassandra catalog and RRD-only ejn collection - #399
Merged
Merged
Conversation
… ejn collection delta-v is Kafka-first and never persists to RRDtool, so the collectd overlay carried dead config. This removes the two schema-valid pieces: - the deprecated cassandra-via-jmx package (JMX-Cassandra, JMX-Cassandra-Newts services) and its two <collector> registrations, already removed from the pollerd catalog in #361 - the ejn <snmp-collection> — which existed solely for a different RRD archive shape — plus its now-orphaned datacollection/ejn.xml group (snmp-collection is minOccurs=0; nothing references collection="ejn") Verified live: collectd boots healthy and keeps publishing to deltav-timeseries (batches_published > 0, zero inner-persister failures). Removing the RRDtool config itself (the rrdRepository attribute and the snmp-collection <rrd>/<rra> archives) is blocked upstream: datacollection-config.xsd declares them use="required"/minOccurs=1 and the unmarshaller is schema-validating, so their removal aborts boot at parse time. Tracked in pbrane/delta-v-horizon#26. Refs #398 Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ronny Trommer <ronny@no42.org>
The rrdRepository attribute and the default snmp-collection's <rrd>/<rra> block are inert under delta-v's Kafka -> VictoriaMetrics persistence, but datacollection-config.xsd (opennms-config-jaxb) declares them required/minOccurs=1 and the unmarshaller is schema-validating, so they cannot be removed without a boot-time parse failure. Comment them so the next config-trimmer knows they are a schema sentinel, not live config, and points at the upstream schema relaxation that unblocks their removal. Refs #398 · blocked-on pbrane/delta-v-horizon#26 Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ronny Trommer <ronny@no42.org>
…vices The rrd-base-name and ds-name parameters on OpenNMS-JVM, JMX-Minion and JMX-Kafka are read only by the dormant RRD persister (file naming) and the poller/perspective response-time adaptors — never by the JMX/Jsr160 collection path. CollectionSetToProtobufTranslator builds the emitted metric names from the CollectionResource and AttributeGroup (i.e. the MBean definitions), not from these service parameters, so under delta-v's Kafka -> VictoriaMetrics persistence they are inert and their removal does not change any emitted series. friendly-name (a live resource-labeling param) is retained. Refs #398 Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ronny Trommer <ronny@no42.org>
# Conflicts: # deploy/overlays/collectd/etc/collectd-configuration.xml
Owner
Merge-conflict resolution + integration validationThis PR overlapped #400 on Resolution applied to
Validated before merge on a fresh full-profile stack (PostgreSQL 16), all three PRs (#397 → #400 → #399) integrated together:
Net combined diff vs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Removes dead / inert RRDtool-related config from the collectd overlay. delta-v is Kafka-first and never persists to RRDtool, so parts of the inherited collectd config no longer serve any purpose.
Three commits, all schema-valid and verified — no runtime behavior change:
1491736cassandra-via-jmxpackage (JMX-Cassandra,JMX-Cassandra-Newts) + its 2<collector>registrations, and the RRD-onlyejn<snmp-collection>+ orphaneddatacollection/ejn.xml.7c5d028rrdRepositoryattr + default<rrd>block as an XSD-required sentinel (inert under Kafka), pointing at the upstream schema fix.29189f5rrd-base-name/ds-nameparams from theOpenNMS-JVM/JMX-Minion/JMX-Kafkaservices (read only by the dormant RRD persister; never reach the emitted metric name).Why the RRDtool config itself is NOT removed here
The original intent (#398) also wanted to drop the
rrdRepositoryattribute and the<rrd>/<rra>archives. That is blocked upstream:datacollection-config.xsd(inopennms-config-jaxb, shipped bydelta-v-horizon) declaresrrdRepositoryuse="required"andsnmp-collection/rrdminOccurs="1", and collectd unmarshals with a schema-validating parser — so removing either aborts boot at parse time (cvc-complex-type.4). Tracked, with a ready-to-implement fix recipe, in pbrane/delta-v-horizon#26. This PR keeps those elements (commented as sentinels) and ships only what is schema-valid from delta-v alone.Verification
deltav/collectd:1.3.0and ranmake up PROFILE=metrics: collectd boots healthy, zero parse errors, still publishing —deltav_timeseries_batches_published_total{producer="collectd"}= 6 (Default) + 198 (nl6-lab),deltav_collectd_persister_inner_failures_total= 0.rrd-base-name/ds-nameremoval validated by code trace:CollectionSetToProtobufTranslatorbuilds metric names from MBean-derivedCollectionResource/AttributeGroupnames, not service params, so no emitted series changes (friendly-nameretained).xmllint.Deliberate scope note
Deleting
ejn.xmldrops Juniper EGN/GGSN (GPRS APN) collection for sysoid.1.3.6.1.4.1.2636.1.1.1.2.18. Intentional under greenfield/zero-back-compat; such devices degrade gracefully to generic Juniper collection (juniper.xml'ssysoidMask .1.3.6.1.4.1.2636.1.still matches). Recoverable from git history if ever needed.Refs #398 · blocked-on pbrane/delta-v-horizon#26
🤖 Generated with Claude Code