When a device contains multiple network adapters that use the same MAC address and IP address, the identifier cannot discriminate each adapter and throws an error to avoid creating duplicate CIs in the CMDB. This error stops Discovery at the identification phase, without creating or updating any CIs.
Steps to Reproduce
Discover a device with multiple adapters with the same MAC address and IP address.
For example, discover a software load balancer that uses the same mctap (macvtap) interface whose MAC mirrors one of the ethernet interfaces.
This results in an error similar to this:
Error : identification_engine : DUPLICATE_LOOKUP_PAYLOAD Found duplicate Lookup items (7 and 12) in the payload index 0 using fields ip_address,mac_address
This problem has been fixed in Orlando. If you are able to upgrade, review the Fixed In section to determine the latest version with a permanent fix your instance can be upgraded to.
On previous versions the workaround is the following:
Navigate to Discovery Definition > CI Identification > Identifiers.
Open the Hardware Rule record.
In the Identifier Entries related list, add "name" to the criterion attributes on the Network Adapter [cmdb_ci_network_adapter] table.
Save the record.
Navigate to System Definition > Script Includes.
Add "name" to the following line in the DiscoveryJSONIDSensor and DiscoveryIDSensor script includes:
From: this.ciData.convertRelatedList(this, 'cmdb_ci_network_adapter', 'cmdb_ci', 'mac_address,ip_address');
To: this.ciData.convertRelatedList(this, 'cmdb_ci_network_adapter', 'cmdb_ci', 'mac_address,name');
Save the records.
Related Problem: PRB1342084