CI Verification and Merge CIs

tsho
Giga Contributor

CMDB and Asset have been separate in my company.   CMDB is in ServiceNow.   Asset is in HP Asset Manager.   We will be migrating all assets to ServiceNow.   Not knowing how CIs and assets will coalesce with each other, I enabled Enforce CI Verification.   My current state:

  1. We have 28,000 CIs that require verification
  2. 0 assets
  3. We are planning on importing assets from Asset Manager to ServiceNow in a couple of weeks
  4. Only 22% of the asset serial numbers matches CI serial numbers (I did vlookup in Excel by exporting both CIs and assets).   I can increase the matches by 11% by removing "S" from Asset serial number.   Example:   Asset serial number S12345, CI serial number 12345.
  5. The other 70% that does not have serial numbers are due to missing serial numbers in assets, or missing serial numbers in CIs, or variation of serial number other than just an "S"

Since I have a lot more assets that will not match CIs, I am thinking of trying to reconcile CIs and assets after the import.   So the assets will be imported into empty asset tables.   It seems that, with the 30% of assets that have matching serial numbers, CIs are created instead of matching CIs being updated.   That means we will have 10,000 CIs that need Merge CIs performed.   Going forward, as we reconcile the remaining 70% no-matches, it will increase the number of CIs that need to be merged as well.

Have you encountered similar situation?   Can you advise how we should go about resolving these discrepancies?   Is it possible to perform the Merge CI function programmatically instead of manually?

Secondly, CI model updates asset model.   Is it possible not to sync the Model attribute?

Thanks in advance for any input you may have.

Teresa

5 REPLIES 5

Daniel Slocum
ServiceNow Employee
ServiceNow Employee

Hi Teresa,



Lots of really good questions here.   The first step I'd take is to validate your Model Categories are established how you'd like. Model Categories in ServiceNow are very much like Natures in Asset Manager.   They drive how assets are tracked and the Asset/CI relationship.   Secondly, you'll want to validate your models.   These are just like Asset Manager, it's a template for creation of an Asset.   You'll need to map a Model Category to every Model.



After you have Model Categories and Models established you'll want to address the CI's without assets in ServiceNow.


On the Model Category table, there is a UI Action (button) labeled "Create Assets" this action will create missing assets and link them to the existing CI's for that Model Category.   Do this for each model category where you have CI's but no assets.



Consideration for importing Assets into ServiceNow,


  1. You'll want to coalesce on Serial Number, or Asset Tag, or something unique.   This will preclude creation of duplicate assets/ci's.
  2. Import into the Asset Table using an Import Set. Map the model and the model category within the Import set.   If you do this, ServiceNow will auto create a linked CI based on the relationship you've defined in the Model Category.
  3. If you have CI specific updates such as amount of RAM, CPU, OS etc. Create a second Transform Map which targets the specific CI auto created during the Asset import. If your coalesce values are correct, you'll only update the CI and not create a duplicate.


You've asked about not synching the Models,   this is not possible.   An Asset record is a financial view, while the CI is a functional view of the same object.   These inherently have the same model as they are in fact the same object.



You mentioned that for 30% of the assets where assets have matching serial number and asset tag, matching CI's are created.   If you create the missing Assets using the UI Action I described above, then complete your import this issue will be solved. You'll have asset records to match against during your Asset import, which will preclude creation of new CI's.



Merging or Matching of CI's to assets within ServiceNow is not a good practice. I think if you create the missing Assets as mentioned above, you'll not have too many that aren't matched.   If you do have some remaining, I'd suggest, exporting to Excel, and matching them to an extract from Asset Manager, then doing an import from your normalized Excel sheet.


tsho
Giga Contributor

Hi Daniel.   Thank you very much for your detail explanations and suggestions.   We have reviewed the Model Categories and Models.   We have turned on Enforce CI Verification but haven't created the assets from CIs yet.   The reason is, if we create the assets from CIs, although there are about 9,000 assets that will coalesce with the imported data, there will be about 18,000 imported assets that do not match and consequently will create duplicate assets.   The reason they do not match is either we are missing serial numbers either in assets or CIs, or the serial number formats do not match.



I was hoping that during the import, the 9,000 assets will find their matching CIs and establish the link.   Of the 18,000, we will need to do manual reconciliation.   But duplicate CIs will be created during the reconciliation process.   That's why I was asking if there is a way to programmatically perform the Merge CI functions, or if there are other ways to eliminate duplicate CIs and assets.



Teresa


Daniel Slocum
ServiceNow Employee
ServiceNow Employee

Hi again.



The timing of these operations are important.


1. Not having already imported any new assets from Asset Manager, within your ServiceNow instance you'll want to run the Create Assets function available on each of the Model Categories.   This will create the missing assets for your existing CI's.   You can now attempt to coalesce against these assets during the AM Asset import.



2. Import your AM Assets.   Match on SN or Asset tag if available. If not, try writing a query to look up the CI's hostname or IP address if it's static and return the related Asset's sys_id for use as a coalesce value. Do everything possible to find a match, to preclude duplicates.



If you've already imported records from Asset Manager, you have two choices.  


1. Delete it.   This would be my recommendation.   I'd revert back and run steps 1 & 2 above.


2. Create some scripting logic to match assets to CI's and update the reference on each to the appropriate record.   I'd execute this via ad hoc scheduled job and I'd test it fully in a sub production instance first.



Regarding your use of Enforce CI Verification.   It's a great tool, mostly used in conjunction with a Discovery engine which targets the CMDB for record creation.  


I'm encouraging you to point your Transform Maps for new record creation at the Asset tables, rather than the CMDB.   This will ensure you are making a valid coalesce on an existing asset while letting the SN system to generate the corresponding CI automatically.   Note my initial comments on this which I've duplicated below.



Consideration for importing Assets into ServiceNow,


  1. You'll want to coalesce on Serial Number, or Asset Tag, or something unique.   This will preclude creation of duplicate assets/ci's.
  2. Import into the Asset Table using an Import Set. Map the model and the model category within the Import set.   If you do this, ServiceNow will auto create a linked CI based on the relationship you've defined in the Model Category.
  3. If you have CI specific updates such as amount of RAM, CPU, OS etc. Create a second Transform Map which targets the specific CI auto created during the Asset import. If your coalesce values are correct, you'll only update the CI and not create a duplicate.


I hope I'm understanding your situation correctly. If I've totally missed the boat and you are continuing to have issues here, it may be worth your while to look into getting some help from ServiceNow Professional Services, or one of the many great ServiceNow Partners.



You can also reply back with additional questions.


Best of luck!


Thank you, Daniel.



Teresa