Manually entered field value overwritten by discovery

curtisrowell
Mega Expert

Has anyone encountered situations where a value (e.g. location) is set by Discovery, subsequently it is manually changed, and then Discovery overwrites that value

Is it possible to have manual data entry take precedence over automated discovery unless the field is blank?

4 REPLIES 4

Chuck Tomasi
Tera Patron

Hi Curtis,



The discovery location is driven by the location field on the schedule. The idea is that schedules CAN be broken down to locations so you automatically populate the location for all the CIs discover in that data center, for example. If you don't want Discovery setting or messing with your values, you can remove the location from the schedule. My initial thought was to use a business rule to say "Hey, don't mess with this field", but that works on a record level. Aborting the update could leave out other key updates to that CI.



Reference: Discovery Schedules - ServiceNow Wiki


Yes, I know how the data is getting there.   The point is that with other ITSM tools, there is a way to specify that manually entered data should have precedence over automated data in the event such data needs to be overridden.



A perfect example of this would be running discovery of logical networks which are known to cover two different data centers (A and B).   Servers in Data Center A are frequently clustered with servers in Data Center B.   A and B both have vBlock servers which are operating in a cluster with VMotion failover.   Discovery done on Monday might show a virtual server as being in Data Center A; however, on Wednesday, it is seen in Data Center B because vmotion migrated it due to prespecified operational parameters.



If manually modified data had precedence over discovered data (perhaps on specified fields) then the Location for that virtual server could be changed to Data Center A/B.


Thank you for the details. I have to imagine there is a way to "protect" your data from Discovery without removing the ability for Discovery to update other records. I just cannot think of it at this time. Hopefully someone with a clever solution (or likely a simple one that has been implemented since my last Discovery deployment) will come forward.


Ryan122
Tera Expert

I know this is an old thread but wanted to give an answer. There is currently a Reconciliation rule for "Manual Entry" as the Discovery Source. You can create a rule for Manual Entry and set the precedence lower than your Discovery. I would give a couple warnings though:

  1. Generally, you want your CMDB updated through automations and integrations. If your Discovery is entering incorrect information into CI fields, you may want to look at your Discovery Schedules to find out why this is happening. You may simply need to create a new schedule or normalize the entries in the updated field.
  2. If you are going to add a manual entry reconciliation rule, make sure to have some kind of logging or protection in place for those fields to track what manual changes are made and by whom. This may include potentially making those fields read-only and creating a role with write privileges and/or creating a Before Insert or Update BR that logs the field changed (before and after) and the user who submitted/updated the record.

Hope this helps anyone running into this issue in the future.