UCMDB and UD Practitioners Forum (Previously CMS)
cancel
Showing results for 
Search instead for 
Did you mean: 

Reconciliation question: Need help to customize reconciliation rule for Node CI type

Highlighted
tibornad
Esteemed Contributor

Reconciliation question: Need help to customize reconciliation rule for Node CI type

Dear board

 

I need to customize the reconcilation rule for the CI type node and all it's child CI types. Reason for this is, that we have systems with the same name and ip address but different MAC addresses which reconcilation handels as two different instances.

These are virtual machines which are being provisioned on a weekly base. The new VM will have the same host name and the same ip address but obviously different MAC addresses. But they are the very same CI instance.

 

So now i would like to change the reconciliation rule to take this into account. Basically we would like to get rid of all the hardware specific attributes in the rule. So as soon as the name or the ip address is a match the two instances should be merged. This will require some testing on our side to make sure we don't run into any other problem with this logic. But first i need to understand how to edit the rule.

 

1. Is it enough to delete all hardware specific identification-criterion in the rule to make sure that attributes like mac_address or bios_uuid are not linger used?

2. Is it possible to simply set a different priority for the validation-criterion priority (for example 0) to disregard this criterion?

 

 

Thanks for all your help

7 REPLIES
Adrian_David
Occasional Visitor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Hello,

 

Validation criterias are checked in the order in which they are inserted in the identification rule.

 

Therefore if you set the first identification rule to be something like this:

 

<validation-criterion priority="1">
<attribute-condition conditionType="approveAndContradict" includeNullValue="false" attributeName="name"/>
<connected-ci-condition linkType="containment" ciType="ip_address">
<overlap-operator match-percent="66"/>
<attribute-condition conditionType="approveAndContradict" includeNullValue="false" attributeName="authoritative_dns_name"/>
</connected-ci-condition>
</validation-criterion>

 

it should achieve your request.


Adrian

Dima Gomel
HPE Expert

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Hi,

I kindly ask you to think twice before changing reconciliation rule for the node CIT. HP spent enoumerous amount of time for polishing it. All OTTB discovery jobs and integrations are in sync. Any massive change will cause duplicates in your system. 

Although HP UCMDB supports changing of reconciliation rule, all testing and fixing of data population in this case will be on you.

 

In my opinion the easiest win is to provide new VM with as much as possible "hardware" metrics same to previous.

Assuming that hostname and IP of new and old VM are same, I see know reason to not presave MAC address. Same relevant for UUID.

 

Hope this helps. 

Regards
-Dmitry Gomel, PMP
If you find that this or any post resolves your issue, please be sure to mark it as an accepted solution.
Click the Like button at the bottom to say 'Thanks'.
tibornad
Esteemed Contributor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Hello Adrian, Hello Dima

 

First thanks a lot for your replies. Related to these:

 

- Is the sequence of the validation-criterion in the XML file relevant. Based on what i have seen in the documentation all criterion will be check as long as the have the same priority. In case of the node rule they all have priority "1". So i would assume they are all equaly consindered? Or is this a missunderstanding on my side?

 

- Thanks a lot for the heads up Dima. This is exactly what i thought and i am very carful about changing the rule. Actually i am testing it right now on a developement system. But still we need to find a way how to handle this. The deployment of the VMs is automated and we can not change this on the simple fact that discovery has problems with it. It is in the nature of VMWare and the process as it is in place at the customer. So we need to handle this in the reconcilation rule. With all risks related to it and highlighted by you. So what would be the best way to do this?

 

- Also related to the priority of the validation-criterion. The documentation says that the criterion with the highest priority will be checked first. Now my question is if "1" is the highest possible or is "1" the lowest? I failed to find an explanation for this. Also if one single criterion returns "false" does this mean that there will be not match? So is one sinlge false enough to prevent a match?

 

Thanks for all the help

Adrian_David
Occasional Visitor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Hello,

 

Yes thesequences of the validation-criterion from the xml is relevant.

 

—These criteria are ordered. For each of the candidates that passed the verification phase, we go over the criteria and if a criterion is applicable (that is, we have data for it), we use it to approve or reject the candidate. If none is applicable – the candidate is approved to be updated.
 
About proority - 1 is the highest, therefore I do not recommand to change the priorities and better go with the order of the validations.
 
But again- one must test it carefully and depending on the input data assume the risks that Dima mentioned.
 
Adrian
tibornad
Esteemed Contributor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Thanks a lot for the clarification Adrian. Very helpful in my case.

Maybe since it seems you're quite experienced with this you can help me out some more.

Within the list of criterions is it sufficient to have one single successful in order to get a match? Means as soon as one return true CI will be merged? Same thing for false. Is it sufficient to have one false for the CIs not to be merged? Because if one false is enough I need to make sure to go over all of the criterion to assure that none of them will fail.

I completely agree that in this very case it does not make any sense to change the priority. I was more thinking about setting a different match operator for the mac_address attributes? Since deploying a new VM will automatically generate new MAC addresses. I assume this is a problem other environments will face as well.

 

naturally all by considering the fact Dima has mentioned. Which i really take very serious. The thing is, i can't see another solution at this point


thanks for all the help

Adrian_David
Occasional Visitor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Hello,

 

Your understanding is correct.

 

Within the list of validation criterions is it sufficient to have one single successful in order to get a match.

 

If we have TRUE  we merge it.

If we have FALSE we create another one.

If UNKNOWN - we test the next one.

 

If one validation consists of two checks then this applies:

TRUE1 + TRUE2 = TRUE

TRUE1 + Unknown(empty attribute)2 = TRUE

TRUE1 + FALSE2 = FALSE

FALSE1 + Unknown (empty attribute)2 = FALSE

Unknown (empty attribute)21 + Unknown (empty attribute)2 = Unknown

 

Adrian

 

tibornad
Esteemed Contributor

Re: Reconciliation question: Need help to customize reconciliation rule for Node CI type

Wonderful. Thanks for your quick reply! Much appreciated
//Add this to "OnDomLoad" event