How to reconcile manually created asset in AM with nodes pushed from UCMDB

  • KM03789954
  • 08-Mar-2021
  • 22-Apr-2021

Summary

This article describes how to reconcile manually created asset in AM with nodes pushed from UCMDB

Question

Certain assets are manually created in AM before they are discovered by UCMDB.

How to reconcile UCMDB node with AM IT equipment after puhsing nodes from UCMDB to AM to avoid duplication?

Answer

Node/VM reconciliation rules in am-push-config.xml.

            <reconciliation-advanced>Portfolio.Model.Name = '${mappings.scripts.AMReconcil.trimRight(vModelName)}' AND Portfolio.Model.Nature.Code = '${vNatureCode}' AND Portfolio.Asset.SerialNo = '${if(vSerialNo==null) { throw new com.hp.amadapter.push.exception.AMPushAdvancesReconciliationException('Not enough reconciliation data') }else{ return mappings.scripts.AMReconcil.trimRight(vSerialNo)}}' AND 1=${if(iIsComputerAVM==true){return 0} else{return 1}}</reconciliation-advanced>
            <reconciliation-advanced>TcpIpHostName = '${vComputerName}' and WorkGroup = '${vWorkGroup}' and Portfolio.Model.Nature.seComputerType = 3 AND 1=${if(iIsComputerAVM==true){return 1} else{return 0}}</reconciliation-advanced>
            <reconciliation-advanced>TcpIpHostName = '${vComputerName}' and WorkGroup = '${vWorkGroup}' and Portfolio.Model.Nature.seComputerType &lt;&gt; 3 AND 1=${if(iIsComputerAVM==true){return 0} else{return 1}}</reconciliation-advanced>
            <reconciliation-advanced>(TcpIpHostName = '${vComputerName + '.' + vWorkGroup}' OR (WorkGroup = '${vWorkGroup}' AND (TcpIpHostName like '${vComputerName + '.%'}' OR TcpIpHostName = '${mappings.scripts.AMReconcil.getShortHostName(vComputerName)}'))) and Portfolio.Model.Nature.seComputerType = 3 AND 1=${if(iIsComputerAVM==true){return 1} else{return 0}}</reconciliation-advanced>
            <reconciliation-advanced>(TcpIpHostName = '${vComputerName + '.' + vWorkGroup}' OR (WorkGroup = '${vWorkGroup}' AND (TcpIpHostName like '${vComputerName + '.%'}' OR TcpIpHostName = '${mappings.scripts.AMReconcil.getShortHostName(vComputerName)}'))) and Portfolio.Model.Nature.seComputerType &lt;&gt; 3 AND 1=${if(iIsComputerAVM==true){return 0} else{return 1}}</reconciliation-advanced>

Reference to Push and Reconciliation section in AM Generic Adapter doc for better understanding about reconciliation.
https://docs.microfocus.com/UCMDB/2019.05/cp-docs/docs/eng/pdfs/AMGenericAdapter.pdf

For Windows VM, name and Workgroup are used for reconciliation.

For Unix VM, name and PrimaryDNSname are used.