Repository navigation
NMS-10432: Leftovers and dead configuration cleanup - #8985
Closed
joseanesONMS wants to merge 15 commits into
Closed
joseanesONMS wants to merge 15 commits into
joseanesONMS wants to merge 15 commits into
Conversation
The example only duplicated the shipped etc/threshd-configuration.xml with long-gone services (JBoss32, JBoss4) and nothing reads it: git grep finds no reference in assemblies, packaging (spec, debian), installer, docs or code. The only user was the EXAMPLE entry in WillItUnmarshalIT, removed here. The examples directory is copied as a whole, so no assembly descriptor changes. Customer copies of the file under etc/examples are never loaded.
Nothing reads the users.xml header mstation value: git grep finds only the JAXB getter/setter in config.users.Header, whose callers (UserManager) just carry the header through a save unchanged, plus test fixtures. users.xsd keeps the element as optional and documents it as deprecated, so existing users.xml files that still contain it keep validating through @ValidateUsing; the Java property stays for the same reason. A header without it is marshalled without the element.
…gone Every config file in the config-tester map still ships in etc on develop (vacuumd-configuration.xml included), except database-schema.xml, which has been loaded from the opennms-config jar since HZN-1308; its map entry, its two beans and its test go, and `config-tester database-schema.xml` now reports an unknown config name. Two other leftovers go: the lazy, never referenced snmpConfigDao bean, whose class FactoryBasedSnmpConfigDao no longer exists, and the ConfigTesterTest ignore entry for mapsadapter-configuration.xml, which is no longer shipped (git grep finds it only in the ConfigFileConstants id table and opennms.spec filters). The tester never looks at files outside its map, so customer etc directories that still hold these files are unaffected.
Properties.store() always writes a "#<date>" first line, so every install run rewrote etc/libraries.properties even when the library paths were unchanged. The installer now stores to a buffer and drops that first line, keeping the rest byte for byte (ISO-8859-1, same escaping and order), and closes the stream it previously leaked. Readers only load the file as Properties (Bootstrap, Installer) or grep for opennms.library.* lines (opennms.spec); nothing reads the comment.
XmlTestNoCastor has been an empty subclass of XmlTest since Castor was removed in NMS-9135: it only forwarded its constructor and overrode nothing. The 146 test classes that extended it now extend XmlTest, so they inherit exactly the same five round-trip and schema tests. Running the affected classes in all 29 modules before and after gives identical surefire results: 148 suites, 1084 tests, no failures. No other reference to XmlTestNoCastor remains in the repository.
…Elasticsearch docs The feature matrix only restated feature names that their own pages already document; the situation feedback REST API stays documented in development/rest/situation-feedback.adoc. The flow support page listed a stale subset of flow document fields; the Flows section is the canonical flow documentation. The alarm history page is moved, unchanged, to deep-dive/alarms/history.adoc, which until now only included it, because the alarm history feature still ships. git grep finds no xref or include into the removed pages or the flow support anchor outside operation/nav.adoc, which is updated.
Neither tool ships with Horizon any more: git grep finds no bin script, assembly descriptor, RPM spec or Debian packaging entry for mib2opennms or mib2events, only historical uei.opennms.org/mib2opennms/* event UEIs and a code comment in the MIB compiler parser. The SNMP MIB Compiler page therefore stops pointing operators at them and keeps the web UI MIB compiler as the only documented path; the example UEIs elsewhere are left alone because they are identifiers, not tool references.
The Statsd daemon was removed in NMS-20313, but the daemon dependency table still listed it as something an operator could disable. git grep finds no Statsd entry in the shipped service-configuration.xml and no Statsd class or statsd-configuration.xml outside the core/upgrade baselines and test resources. The automatic cleanup page keeps its Statsd mention: it explains why the still-active purgeStatisticsReports automation in vacuumd-configuration.xml exists. Release notes are left as historical records.
The RANCID provisioning adapter is gone: git grep finds no RANCID class, blueprint or feature, only the opennms-plugin-provisioning-rancid Obsoletes/Breaks entries in the RPM spec and debian/control. The Cisco IP SLA monitor page still sent readers to RANCID for configuration backups, so it now points to the built-in Device Configuration Backup feature instead.
JRobin is no longer a storage strategy: the only RrdStrategy implementations on develop are the RRDtool JNI strategies, the TCP strategies and the queuing/multi-output/null wrappers, and rrd-configuration.properties offers only JniRrdStrategy and MultithreadedJniRrdStrategy. JRobinRrdStrategy survives only as a legacy default in core/upgrade. The time series overview no longer lists JRobin as an installed database, and the Newts converter guide no longer calls JniRrdStrategy a JRobin strategy. Mentions that describe JRobin as removed, the glossary entry, the JRobin-to-RRDtool converter and the Newts converter's jrobin option are kept, because the converter (NewtsConverter StorageTool.JROBIN) and bin/jrobin-inspector still read .jrb files.
The remote poller is gone: OnmsMonitoringSystem defines only the OpenNMS, Minion and Sentinel types, and git grep finds RemotePollerBackEnd only in core/upgrade migration code and its service-configuration baselines. The Monitoring Systems REST page now lists Sentinel instead of the remote poller as an example system, and the monitor page template drops its RemotePoller deployment bullet. The RMI page keeps its note that the opennms.poller.server property name dates from the remote poller, because it explains a property that is still read.
The RSS feeds are gone from the web UI: rss.jsp is an empty stub that holds only a license header, and nothing references the org.opennms.web.rss feed classes outside their own package. The dashboard anonymous-access procedure no longer tells readers to anchor their filter chain entries on the /rss.jsp* entry or shows it in the sample. The News Feed page and REST API are kept, because that feature still reads the opennms.com RSS feed.
The Slack and Mattermost notification strategies were replaced by the Webhook strategy, and nothing reads the org.opennms.netmgt.notifd.slack.* or .mattermost.* properties these templates generated: git grep finds them only in the templates and the webhook migration table in the docs. No container entrypoint, test or other confd file refers to the templates. The matching sections of CONFD_README.md go with them. confd ignores keys that have no template, so an existing horizon-config.yaml that still sets opennms.notifd.slack or .mattermost keeps working.
The remote poller and its GWT UI were removed in NMS-12653. The stylesheet was only built because webpack turns every file under assets/style into an entry; git grep finds no reference to remote-poller-gwt in any JSP, GWT module, webpack/package config, Java or other stylesheet.
RSS feeds were removed long ago and rss.jsp now holds only the license header and a stray "%>", so it renders an empty page. git grep finds no link to it from web.xml, menus, other JSPs, Java, or tests; the only remaining mentions are the /rss.jsp* Basic-auth chain in applicationContext-spring-security.xml and an Acegi-era example in the Dashboard docs, both left as they are. A request for /rss.jsp now gets a 404 instead of an empty 200.
marshallmassengill
requested changes
Oct 21, 2026
marshallmassengill
left a comment
Contributor
There was a problem hiding this comment.
Too much for one PR. Break these up please.
Contributor
There was a problem hiding this comment.
I don't think we want to do this... I kind of like the flows feature ;)
This was referenced Oct 22, 2026
Contributor
Author
|
@marshallmassengill Split as you asked, each on current develop:
|
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.
Removes leftovers of retired features and dead configuration, led by NMS-10432; one commit per ticket or leftover, so any of them can be dropped, and nothing a running system uses changes behaviour.
etc/examples/threshd-configuration.xmland itsWillItUnmarshalITentryetc/examplesis never loadedusers.xmlno longer ships<mstation>;users.xsdmakes it optional and documents it as deprecated and ignored; JAXBHeaderno longer marks it requiredHeadergetter/setter touch it;UserManagerwrites back the header it readusers.xmlwith<mstation>still validates (checked with xmllint) and keeps its valuedatabase-schema.xmlentry, beans and test; deadsnmpConfigDaobean; stalemapsadapter-configuration.xmltest ignoredatabase-schema.xmlis loaded from the jar since HZN-1308;FactoryBasedSnmpConfigDaono longer exists; every other mapped file still shipslibraries.propertiesis written without theProperties.store()date comment, otherwise byte-identical; the stream is now closedopennms.specgrep ofopennms.library.*linesinstall -disno longer rewrites the file when nothing changedXmlTestNoCastorremoved; its 146 subclasses extendXmlTestopennms-alarm-history-elastic), so its page moved unchanged to Alarms instead of being droppedmib2opennms/mib2eventsmentions removed from the MIB pageremote-poller-gwt.css, emptyrss.jsp(one commit each)horizon-config.yamlkeys are ignored by confd;/rss.jspreturns 404 instead of an empty pageAlready resolved
group.idprefix,collectd.strictIntervaland datachoices settings are set only by OpenNMS/helm-chartsonms-core-init.sh; nothing in this repo ships them.container.initthat generates the Sentinel script.Not addressed
EventdServiceManageris still a live bean (applicationContext-dao.xml) injected into Eventd, which asserts it at startup; removing it changes production Spring/OSGi wiring.ipLastCapsdPollfilter column. AMQP waits for NMS-20427.Candidates for follow-up tickets
EventdServiceManagerwith its Eventd wiring (NMS-19035 as a functional change).jsr160collectsonmsUptimefromOpenNMS:Name=Manager, but the MBean attribute isUptime, so it has never been collected./rss.jsp*security chain, theorg.opennms.web.rssclasses, and the Acegi-era anonymous-dashboard procedure indashboard.adoc.gwt-asset.css,onms-gwt-chrome.css) andmapsadapter-configuration.xmlleftovers inConfigFileConstantsandopennms.spec.rrdRepositorytocassandra30x.xml,cassandra30x-newts.xmlandjboss.xml;filters.adocstill saysdatabase-schema.xmllives inetc.Verification: config-model, config-tester (including
ConfigTester -aover the default etc), install and web-assets build and pass; the 146 changed XML test classes ran before and after with identical results; the docs build has only the 2 develop-baseline warnings.External References