Issues with Identification Rules using ETL on Manual Data Load

MJONES_OH
Tera Expert

Hello!

 

I'm helping my organization create a CMDB and Asset Management practice. When I arrived, there were approximately 500 items in CMDB that were essentially a record name with no metadata, originally added to support other integration efforts that needed to reference a device. Now that we've built in some discovery capabilities, most of these items have been reidentified and reclassified to the correct tables.

 

Now I'm planning to load a manual list of legacy network switches to clean up the rest of the original data. However, here is our situation / issue:

  • We only have current CMDB records for these devices with a name and no additional metadata
  • In our source data sheet, we have multiple devices with the same name and IP as a "stack" with different serial numbers
  • Using the base OOB identification rules, when we first loaded this sheet using ETL, we only wrote to 98 of the designated 130 records. Many of the records with duplicate host names would not write a record. Essentially, the ETL would find the first record with the same name, give a serial, and then skip any records from the source sheet with the same name
  • So, to try and fix this we created individual records for each device with duplicate names and added the serial # for those duplicate names. We should now have an individual record 1:1 to every item in our source list. However, again, only 98 of 130 records.... 

We aren't sure what to do here. Anyone have recommendations on how to handle the identification rules to allow multiple records with the same name while having different serial numbers and to ensure that multiple records would be created from the source data? We are new to this, so any help and guidance would be a huge support!

MJONES_OH_0-1769610185166.png

 

Mike Jones
ServiceNow Sr. CMDB Engineer
Data Governance, Security, and Operations | Product Owner - CMDB, ITOM, ITAM, IRM
AIT Worldwide Logistics
2 REPLIES 2

Vijaya_Mnpram
Tera Guru

@MJONES_OH Hope you are looking at the CI class of IP Switch. As shown in your screen shot, the Independent Rule exists for the Hardware and the same is extended to IP Switch. Try to create a new Identification rule at the IP switch level and add 'Serial Number' as the primary identifier. Try with a small chunk of 5-6 lines, with same name but different Serial numbers. 

Vishnu-K
Tera Guru

Hi @MJONES_OH ,

If the ip switch class has the same Identification rule as in above image you have shared then it is good no need to change it. 
Note : Do the following step only if you have mapped the source native key in the ETL mapping.

               ->Now you have to go to the sys_object_source just delete the records which has the reference to the Ci's which you have uploaded , then try to load it again maximum you should see the all the data loaded if you have the the unique serial numbers for all the 130 records, if you still face the same issue , do the  following steps
-> Go to the all Navigator and search for the identification Simulation and open it.

VishnuK_0-1769692359666.png

->Then select the start which is in the Start with CI Class

VishnuK_1-1769692551517.png

->Now Select the discovery source you are mapping for those ci's in the ETL and then select the class as ip switch

VishnuK_2-1769692640844.png

->After that select the criterion attribute as the serial_number and add the value of the record which doesnot got inserted in the value field and then click on generate script which will be on the top right  after that click on the run simulation.

VishnuK_3-1769693871692.png

 

->You will be redirected to a a new page in that expand the run you will see input ,logs, output click on the output

VishnuK_6-1769694374588.png

VishnuK_7-1769694403105.png

 

-> Now check whether the record would inserted or updated with which the serial number you have tried, if it say updated then that means that serial number is already present in the cmdb_ci_ip_switch

Hope this helps you, Please do mark it as helpful . And accept the solution.