Sometimes we may see that there are some dependent CIs (like network adapters, serial numbers, etc) are not getting created even though there is one matching record exists.
Hardware CI: Main-hardware-ci-windows-server
Dependent CI: (Network Adapter): Nic1
Issue: Check the below image there we are seeing duplicate network adapters created even though the same name and mac address exists for the same hardware CI.
Release or Environment
When the dependent CIs' payload is sent to the identification and reconciliation engine (IRE) below steps happens:
- Identification and reconciliation engine (IRE) will check if there are any identifier entries exists for this particular dependent class. If yes, it will try get the related identifier entries.
- Now, based on the identifier entries it will try to find the matching dependent CI records records for that particular hardware CI.
- If there are any matches found then it will try to look for the dependency relationships.
- If there are any dependent relationship exists then it will try to find a relationships matching that.
- If there is a match then it will identify that dependent CI as match. If no match found it will create a new CI and new relationship record. If there are multiple dependent CIs found then it will throw multiple relationship found error.
Above example Explanation:
- The Windows Server CI does have a network adapter entry with discovery source as "ImportSet". But there is no relationship exists between the hardware CI and the dependent CI. And this is the reason IRE could not identify this CI and it created a new CI with source as ServiceNow.
Most Common issues leading to this issue:
- The discovery source is marked as "Duplicate".
- The dependency relationship is missing. (This can be caused specially when we import the related items but not its relationships).
- Make sure we populate the dependency relationships if exists so no duplicates would be created.
- Any CI import should go through the IRE engine so that the CIs are managed centrally with unique identification.
- If the duplicates are already created manually delete them or use the CMDB remediation methods to address.
- [CMDB - IRE] How the CMDB Identification and Reconciliation Engine works when passing a CI (as payload) to the createOrUpdateCi()
- [CMDB IRE] How to run the CI identification on demand using the payload
- [CMDB CI Payload Debug] How to check the data/payload being sent to IRE and check the issues with the payload
- [CMDB Health\Duplicates] How the CMDB Health Dashboard duplicates are evaluated in CMDB Duplicate metric