[OpenNMS/opennms] daf60f: NMS-20254: Carry a discovered link's interfaces on...
Marshall Massengill via opennms-cvs <[email protected]>
| Newsgroups | gmane.network.opennms.cvs |
|---|---|
| Message-ID | <OpenNMS/opennms/push/refs/heads/mm/NMS-20254-smoke/[email protected]> |
Branch: refs/heads/mm/NMS-20254-smoke
Home: https://github.com/OpenNMS/opennms
Commit: daf60f09dbbf3a93b086abf1c4a3cb63edaecc87
https://github.com/OpenNMS/opennms/commit/daf60f09dbbf3a93b086abf1c4a3cb63edaecc87
Author: Marshall Massengill <[email protected]>
Date: 2026-08-24 (Mon, 24 Aug 2026)
Changed paths:
M features/graph/provider/legacy/pom.xml
M features/graph/provider/legacy/src/main/java/org/opennms/netmgt/graph/provider/legacy/LegacyEdge.java
A features/graph/provider/legacy/src/test/java/org/opennms/netmgt/graph/provider/legacy/LegacyEdgeTest.java
A features/topology-map/org.opennms.features.topology.api/src/main/java/org/opennms/features/topology/api/topo/LinkDetailsAware.java
M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/src/main/java/org/opennms/features/topology/plugins/topo/linkd/internal/LinkdEdge.java
M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/src/test/java/org/opennms/features/topology/plugins/topo/linkd/internal/EnhancedLinkdTopologyProviderTest.java
Log Message:
-----------
NMS-20254: Carry a discovered link's interfaces onto its graph edge
Enlinkd resolves the interface at each end of a link: the rows are one-sided,
but the service layer pairs them and the updaters look each ifIndex up in the
SNMP interface table. The Vaadin plugin keeps that on LinkdEdge's two ports, and
it stopped there, because converting a legacy edge to a graph-API edge kept only
the id, label, namespace and endpoint node refs.
Edges that know their link now say so through LinkDetailsAware, and the
conversion copies both ifIndexes and the discovery protocol into the edge
properties. The graph REST layer already serializes that bag, so nothing there
changed. The interface, rather than an instanceof on the plugin's edge class,
keeps the generic graph module off a Vaadin plugin.
The keys live on LegacyEdge, not GenericProperties, which is offered for any
element. Values are strings because the REST converters have no case for a boxed
Integer and fall back to toString() regardless, as nodeID already does. All
three are optional, and the builder drops nulls, so an end discovery could not
resolve is absent.
Tested against real provider-built edges and their clones, which is all
getEdges() ever returns.
Unblocks the weathermap link metrics, which need (node, ifIndex) per direction.
It does not retire the UI's parseIfIndex regex on its own: that reads
/api/v2/enlinkd/{nodeId}, not /api/v2/graphs.
To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs