Unable to rediscover a device.

Document ID : KB000125493
Last Modified Date : 30/01/2019
Show Technical Document Details
Issue:
- Network device is successfully rediscovered but skipped based on dev id
- Skipping excluded DeviceId: D6622fe123144a4ba2f2816ef53fa6417
- discovery messages were being processerd
- other devices could be discovered with no issue by the same discovery_agent
- Network device was reachable
- snmpwalk successful
Environment:
- UIM v9.0.2 (upgraded from 8.5.1)
- discovery_server v9.0.2
- discovery_agent v9.0.2
 
Cause:
- discovery job corrupt or leftover discovery artifact caused exclusion/skip of device id therefore USM did not display the device name/SysName, or IP address after discovery completed.
Resolution:
1. discovery_agent/discovery_server were both able to discover the device without issue as per the logs. In the discovery_+agent directory on the file system, the successful_authentications.daa file showed an entry for the IP address of the device

2. Device discovery was successful:
Jan 29 14:21:13:328 [PerIpDiscovery-1, discovery_agent] Successfully completed SNMP query for 172.10.xxx.xxx with authentication 12.
Jan 29 14:21:13:329 [PerIpDiscovery-1, discovery_agent] SNMP Remote discovery successful for 172.10.xxx.xxx with auth id 12 for SNMP Remote
Jan 29 14:21:13:515 [PerIpDiscovery-1, discovery_agent] Completed per IP checking for 172.10.xxx.xxx: isAlive=true elapsedTime=0:00:01.832
Jan 29 14:21:13:539 [PerIpDiscovery-1, discovery_agent] Adding discovery results for 172.10.xxx.xxx: Device[DiscoveryIpAddresses=[172.10.xxx.xxx],DnsNames=[],ComputerName=<null>,SnmpSysName=GBKOGHSFTR1523,BiosSystemID=...Jan 29 14:21:13:545 [PerIpDiscovery-1, discovery_agent] Saved discovery results for 172.10.xxx.xxx publish=true
Jan 29 14:21:13:681 [DiscoveryRun, discovery_agent] Completed device discovery for 1 addresses.
Jan 29 14:21:13:681 [DiscoveryRun, discovery_agent] device discovery end: 0:00:02.003
Jan 29 14:21:13:681 [DiscoveryRun, discovery_agent] 0 unpublished devices at discovery completion
Jan 29 14:21:13:697 [DiscoveryRun, discovery_agent] Added device with 17 interfaces to graph: etc
etc
...
But..., the device was being skipped as per the discovery_server.log
...
29 Jan 2019 13:37:46,570 [probeTask-4] DEBUG com.nimsoft.discovery.server.ec.importer.NisElementAcceptor - Skipping excluded DeviceId: D6622fe798144a4ba2f2816ef53fa6417

3. select * from cm_device_attribute where dev_attr_value = '<ip_address_of_device>' showed 0 rows
--Shows you if the device IP is showing up on some other device as "OtherIPAddresses"

4. So we made a copy of the excluded_devices file in
\probes\service\discovery_server\excluded_devices
- which contained NO reference whatsoever to the device/IP/SysName

5. Deactivated discovery_server

6. Set aside/renamed the excluded_devices file

7. Activated discovery_server

8. Ran callback:
    clear_all_blacklisted_devices

clear all blacklisted devices using the discovery server


During the run of the callback, the discovery_server log should show:

29 Jan 2019 18:17:42,707 [attach_socket] DEBUG com.nimsoft.discovery.server.probe.callback.ClearAllBlacklistedDevicesCallback - clear_all_blacklisted_devices begin 
29 Jan 2019 18:17:42,709 [attach_socket] DEBUG com.nimsoft.discovery.server.probe.callback.ClearAllBlacklistedDevicesCallback - clear_all_blacklisted_devices end 

9. Created a NEW discovery job which was basically the same as the first job run to discover a single IP, and reran discovery

10. From USM we could see that the device was successfully rediscovered and it finally displayed in the USM Inventory view.
Additional Information:
The excluded_devices.csv file in discovery_server probe folder does not exist in UIM v9.02 

Discovery server offers two callbacks to handle blacklist/excluded devices:

a. clear_all_blacklisted_device > Unblocks all devices. This callback doesn't have any input.
b. unblacklist_devices: This callback unblocks specific devices and requires bl_id as input which we need to query from cm_blacklist_computer_system table basing on device name or IP.