Exclude/stop the Insert/Creation or update of CI's based on Name during Disocvery

mike2agk
Tera Contributor

All,

Do we have a way of excluding a CI by name once discovered by Discovery and before its created or updated in the CMDB . This is as a result of dealing with alias. For example if I don’t want a particular CI[based on the name] created or updated in the CMDB how do I do that? 

Always appreciate your feedback

Thanks

Mike

8 REPLIES 8

TJ6
ServiceNow Employee
ServiceNow Employee

Hi Mike,

 

You can go to the identifier for that CI and remove(deactivate) the name as a identifier. 

However, if you do this it will prevent updating of an existing CI based on name as well.

 

For example,

You have a CI called "test1" already discovered.

You go to discover it on a later day to update the CI.

It does not return information for Serial number or any IP addresses or mac addresses (this might be due to some other issue but can happen). Then it tries to match on an existing name in the CMDB (whatever class that CI is, probably some hardware) for that CI. If it cannot find a match since the name rule is turned off, it will then say there was no matches in the CMDB for this CI and create a new record for it. In effect, causing duplicates of the CI.

So yes, it is possible and should work fine because there are higher order identifiers like serial number. However, name is a fallback identifier, and if its not there then you have potential for duplicates.

 

You can find identifiers by going to "CI Class Manager", under hierarchy find the class you are looking for click it and click the "identification" section to see its identifiers. 

Note: If you look at a class like windows server, you will see that the identifier for that is actually from its parent table class called cmdb_ci_hardware. Many CIs identification rule are inherited from a parent class. Making changes to the parent class affects all its child classes. 

thanks,

-TJ

mike2agk
Tera Contributor

Hello TJ,

Thanks for your proposal. What your suggesting will lead to lost of duplicates since ur saying i shld remove name identify for the particular class

Thanks

Mike

TJ6
ServiceNow Employee
ServiceNow Employee

Hi Mike,

 

I'm saying you may have potential for duplicates.

If discovery is retrieves the proper information to identify on higher order ID-ers (identifiers) then name is not necessary.

However, if you happen to not get info to match on the higher order ones (like serial number) for some reason, then it will need to fall back on the lower order ones like IP address & mac address, then Name. 

So you can remove matching on name and there is nothing wrong with that, but I wanted to included the potential consequences of this. 

 

thanks,

-TJ

mike2agk
Tera Contributor

Hello TJ,

Not sure this approach will solve my issues. is there a way i can write a business rule that will run before discovery creates or updates the CMDB to point to a table that list all the CI's that shldnt be created or updated?

 

Thanks

Mike