NodeTopologyBridge fails on Cisco Switch ME36/ME34/ME35

Description

Bridge Dsicovery on Cisco Switch needs to set a community proper to access the bridge mib.
It seems that only the default Vlan (id=1) bridge is accessed.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Antonio Russo April 14, 2017 at 1:38 PM

Merged in foundation 2016

Antonio Russo April 10, 2017 at 11:15 AM

With the fix I made I got the following NPE too:

Exception in thread "EnhancedLinkd-Thread-3-of-5" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology$BridgeTopologyHelper.<init>(NodeDiscoveryBridgeTopology.java:163)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.calculate(NodeDiscoveryBridgeTopology.java:818)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.calculate(NodeDiscoveryBridgeTopology.java:779)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.run(NodeDiscoveryBridgeTopology.java:639)
at org.opennms.netmgt.enlinkd.scheduler.Scheduler$1.run(Scheduler.java:187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.opennms.core.concurrent.LogPreservingThreadFactory$3.run(LogPreservingThreadFactory.java:124)
at java.lang.Thread.run(Thread.java:745)

And

Exception in thread "EnhancedLinkd-Thread-1-of-5" java.lang.NullPointerException
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology$BridgeTopologyHelper.<init>(NodeDiscoveryBridgeTopology.java:114)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.calculate(NodeDiscoveryBridgeTopology.java:818)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.calculate(NodeDiscoveryBridgeTopology.java:746)
at org.opennms.netmgt.enlinkd.NodeDiscoveryBridgeTopology.run(NodeDiscoveryBridgeTopology.java:639)
at org.opennms.netmgt.enlinkd.scheduler.Scheduler$1.run(Scheduler.java:187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.opennms.core.concurrent.LogPreservingThreadFactory$3.run(LogPreservingThreadFactory.java:124)
at java.lang.Thread.run(Thread.java:745)

Antonio Russo April 8, 2017 at 5:30 AM

Antonio Russo April 8, 2017 at 5:02 AM

antonio:opennms-services antonio$ git commit -a
[jira/ f27b8f6] : NodeTopologyBridge fails on Cisco Switch ME36/ME34/ME35
7 files changed, 118 insertions, 72 deletions
antonio:opennms-services antonio$ git push -u origin jira/:jira/
Counting objects: 105, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (17/17), 3.02 KiB | 0 bytes/s, done.
Total 17 (delta 11), reused 0 (delta 0)
remote: Resolving deltas: 100% (11/11), completed with 11 local objects.
To git@github.com:OpenNMS/opennms.git

  • [new branch] jira/ -> jira/
    Branch jira/ set up to track remote branch jira/ from origin.
    antonio:opennms-services antonio$ git log
    commit f27b8f6eb952e75eb11276864514f4ccb02c88f1
    Author: Antonio <rssntn67@yahoo.it>
    Date: Sat Apr 8 11:00:22 2017 +0200

: NodeTopologyBridge fails on Cisco Switch ME36/ME34/ME35

Added more control and a fix for cisco devices

Antonio Russo April 7, 2017 at 4:58 PM

The Cisco Switch is ME34XX.
When Walking the BRUDGE-MIB only shut interface are in port table.
But in the BFT I got the right BridgePort....so it seems that there is no mapping from bridgeport to valid ifindex,.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

PagerDuty

Created April 7, 2017 at 2:26 PM
Updated April 14, 2017 at 5:36 PM
Resolved April 14, 2017 at 1:38 PM