Understanding CI Identification and Reconciliation Process

Ted N1
Tera Contributor

Hi,

when using the CMDBTransformUtil in onBefore scripts to identify CI's I need to understand how it processes the CMDB.

I've tested the 'Identification Simulation Tool' and it seems like the IRE process only CI Classes 'higher' then the class addressed when sending the request.

Sample:

I want to insert records into cmdb_ci_computer. I know that we have records with the same serial_number in cmdb_ci and/or cmdb_ci_hardware. When I run the IRE against cmdb_ci_computer it recognizes 1 record (in cmdb_ci_computer).

When I run IRE against cmdb_ci it recognizes all records (cmdb_ci, cmdb_ci_hardware, cmdb_ci_computer) and marks the two records in higher classes as duplicates.

I would like to get a setup where IRE recognizes all records and then keeps the 'most specific' or latest added record in that class.

Should I set the transform map towards cmdb_ci and then change sys_class_name on each row in the import set during transformation through a script?

Greatful for any input.

I basically want to understand the IRE process in more depth then the documentation is providing.

 

Best regards

Ted

2 REPLIES 2

DaveHertel
Kilo Sage
Kilo Sage

Hi -- the CI ID engine also looks at the class of the object type.  So if you know you are importing computers, I would inform the import script/transform of the class as specific as possible (computer or server, etc.) and not use a very generic CI class like cmdb_ci.

The CI ID engine can have different identifier rules for every class if/as needed.  So being more specific to the target class is better, if you know what the destination class for the import is anyway... Check out London Docs on CI Discovery identifiers (which is using the CI ID engine)

Does this help?  Hope so..

Sorry Dave,

I've tried the setup you propose and it doesn't recognize the current entries in cmdb_ci.

I do have CI Identifiers setup on all CI Classes involved.

When running the Identification simulation with cmdb_ci_computer as 'target' it does update the record in that class but nothinh else happens.

When running the identification simulation with cmdb_ci as 'target' all records with same serial_number are recognized and the duplicates are being flagged accordingly, hence my deduction that I need to have the IRE hitting the 'least specific' class where I expect to find duplicates.

I need to do more tests on this, I still haven't any good explanations or samples on how it should work in reality.

 

/Ted