Introduction
- Multiple lookup fields ETLs. These ETLs populate different lookup fields in order to have a more accurate lookup. Some of the out of the box ETLs (like VMware) that populate multiple lookup fields populate also a special lookup field called _COMPATIBILITY_. If you write a custom ETL, it is recommended to populate this field
- Single lookup field: the ETL populate a single field, called DEFAULT.
How lookup is performed
- Multiple vs. Multiple: the lookup is performed using the field marked as STRONG and WEAK (TSCO 20.02 Understanding entity identification and lookup) (TSCO 20.02 Handling ETL lookup name)
- Single vs. Single: the lookup is performed on the field DEFAULT
- Multiple vs. Single: the lookup is performed comparing the content of DEFAULT (coming from single lookup ETL) and _COMPATIBILITY_ (coming from multiple lookup ETL)
How populate field in a custom ETL
- If you define DS_SYSNAME giving only a value (e.g. host name) the ETL will create single lookup field DEFAULT populated with that value
- If you define DS_SYSNAME with a sequence like this LOOKUPFIELD1#LOOKUPVALUE1##LOOKUPFIELD2#LOOKUPVALUE2 and after define in STRONGLOOKUPFIELDS and WEAKLOOKUPFIELDS the kind of field, you will create a multiple lookup
Just to give you an example, this is how the VMware ETL populate these values
DS_SYSNM=HOSTNAME#vl-pun-bcm-dv20##PARENT_VCNAME#Vcenter name##NAME#VMname##PARENT_HOSTNAME#hostname.bmc.com##_COMPATIBILITY_#564da903-e29e-976a-6970-6164020b0d3b##UUID#564da903-e29e-976a-6970-6164020b0d3b##VMW_VMREF#vm-1234##PARENT_VCUUID#63BA5246-A098-407F-B797-89E5E1B145D4;
STRONGLOOKUPFIELDS=PARENT_VCUUID&&VMW_VMREF##PARENT_VCNAME&&VMW_VMREF
WEAKLOOKUPFIELDS=UUID##HOSTNAME##PARENT_HOSTNAME&&NAME##PARENT_VCNAME&&PARENT_CLUSTERNAME&&NAME##NAME
A common use case: VMware ETL and custom CMDB
A common use case is the integration of a custom CMDB that share entity catalog with VMware ETL
There are two ways to do it:
- Using multiple lookup
If you are writing a custom ETL or your are using Object Relationship SQL Extractor, you can use the multiple lookup feature. - Using single lookup field
If you are using Object Relationship CSV that doesn't support multiple lookup field or there are conditions in which you have to share the lookup with another ETLs that doesn't support multiple lookup, you have to change the configuration of VMware ETL in order to populate the field _COMPATIBILITY_ with system name or host name, as showed in this screenshot -