Smarts NPM: BGP and IEGRP are not being discovered on Routers and Switches
search cancel

Smarts NPM: BGP and IEGRP are not being discovered on Routers and Switches

book

Article ID: 331877

calendar_today

Updated On:

Products

VMware Smart Assurance

Issue/Introduction

Symptoms:


BGP and IEGRP are not being discovered on Routers and Switches that have the respective directives configuring each system. 
Problem is during discovery of device, Smarts doesn t initiate protocol discovery probe (which checks if device is candidate for BGP/ISIS/EIGRP/OSPF discovery, to be precise algorithm for adding device as candidate for NPM discovery  is done in ic-protocol-discovery.asl) at all.

Environment

VMware Smart Assurance - SMARTS

Cause

Reason is in below error as per INCHARGE_AM-PM log file:

[May 30, 2017 10:18:22 AM EDT +124ms] t@2350872320 Discovery #6
ADTM-W-TMG2_EPROBE-While attempting to probe 'SNMPAgent-device.domin.com'
ASL-ERROR_SELECTIVE-While invoking selector 'End-Device-Selector-Generic' of selective driver 'End-Device-Probe'
ASL-ERROR_COMPOUND-While invoking sub-driver 'End-Device-PortManager-Driver' of compound driver 'End-Device-Generic-Driver'
MR-CALL_ON_NULL_OBJECT-Tried to make a call on a NULL repository object; in file "GA_Driver.h" at line 2775

 
As per above Smarts can t find 'End-Device-PortManager-Driver  in the list of GA drivers which should be run for each device during discovery. You can check
 
./dmctl -s <DomainName> geti GA_Driver | grep End-Device-PortManager
End-Device-PortManager-Driver

 
As result discovery stops and not running any other probes (including protocol discovery probe).

Resolution

Need to check DISCOVERY_GENERIC.import as it may be corrupted or driver accidentally commented out.

After modifications restart of domain is required to reload all drivers. Before discovery confirm End-Device-PortManager-Driver is loaded using the below dmctl command.
./dmctl -s <DomainName> geti GA_Driver | grep End-Device-PortManager
End-Device-PortManager-Driver


After,  delete discovered device and discover it again.

Additional Information

End-Device-PortManager driver is defined in DISCOVERY_GENERIC.import (sm_edit conf/discovery/DISCOVERY_GENERIC.import) as per below
 
GA_Driver::End-Device-PortManager-Driver {
    ReadsRulesFrom = GA_RuleSet::End-Device-PortManager-RS
        { fileName = "discovery/ic-end-device-port-manager.asl" }
    waitForCompletion = TRUE
}

Using mibwalk you can check to see if any devices are discovered as candidate for EIGRP and BGP discovery.
 
/dmctl -s INCHARGE-AM-PM-PF get Switch::[device_name]::MemberOf
{ BGP_TopologyCollection::BGP-System EIGRP_TopologyCollection::EIGRP-System }