How to define "Hosted on::Hosts" relationship between cmdb_ci_lb_pool and u_cmdb_ci_kemp_lb in Disco
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2025 09:55 AM
m working on integrating Load Balancer Pools (cmdb_ci_lb_pool) into the CMDB using the Identification and Reconciliation Engine (IRE). I’m facing a MISSING_DEPENDENCY issue even though the load_balancer reference field is populated correctly.
{
"items": [
{
"className": "cmdb_ci_lb_pool",
"values": {
"load_balancer": "6e5bd3aa3115e254137ea00e7e18f4b4",
"discovery_source": "ServiceNow",
"install_status": "1",
"load_balancing_method": "round-robin",
"name": "0",
"sys_class_name": "cmdb_ci_lb_pool"
},
"sys_object_source_info": {
"source_name": "ServiceNow",
"source_native_key": "15.23"
},
"internal_id": "615fc8be289d22943eeb3dd06e0c9311",
"sys_ire_info": {
"ire_received_time": "2025-05-07 14:18:46"
},
"reason": "MISSING_DEPENDENCY"
}
]
}
The CI class u_cmdb_ci_kemp_lb (referenced in load_balancer) exists, and the sys_id (6e5bd3aa3115e254137ea00e7e18f4b4) is correct. A CMDB relationship rule exists:cmdb_ci_lb_pool >> Hosted on >> u_cmdb_ci_kemp_lb.
Despite this, the payload continues to trigger the MISSING_DEPENDENCY warning. I’ve confirmed:
-
The load balancer CI exists and is discoverable.
-
The hosting relationship is configured with direction child → parent.
-
Column name is correctly set to
load_balancer.
Questions:
-
Is there anything specific required in the payload (besides
load_balancer) to satisfy the containment rule? -
Does the IRE require the relationship to be explicitly defined in the
relationsarray when using reference fields? -
Could this be caused by a misconfiguration in the CMDB relationship metadata?
Any guidance or examples of working patterns with cmdb_ci_lb_pool referencing a custom LB class like u_cmdb_ci_kemp_lb would be very helpful.
Thanks in advance!
Please help
- Labels:
-
Discovery
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
Pratiksha,
The MISSING_DEPENDENCY message from the Identification and Reconciliation Engine (IRE) usually means that Discovery or IRE couldn’t validate a dependent CI relationship during reconciliation, even if the reference field is populated.
In your case, the payload for cmdb_ci_lb_pool references a load balancer (u_cmdb_ci_kemp_lb) through the load_balancer field, but IRE still needs to confirm that:
- The parent CI (u_cmdb_ci_kemp_lb) has a valid Identification Rule, and
- The relationship (for Hosted on between cmdb_ci_lb_pool → u_cmdb_ci_kemp_lb) is correctly defined
- If the parent CI’s class doesn’t have an Identification Rule, or if the relationship rule doesn’t align with the field definition, IRE can’t resolve the dependency.
You can test this by:
- Verifying there’s an Identification Rule for u_cmdb_ci_kemp_lb
- Confirming that the dictionary entry for load_balancer references cmdb_ci_lb)
- Ensuring your relationship type points from the pool (child) to the load balancer (parent)
Reference:
- This behavior is described in ServiceNow KB0725816 – “Identification Engine MISSING_DEPENDENCY error.”
It explains that IRE throws this error when a dependent class relation can’t be matched to an existing containment or hosting rule, even if a sys_id reference exists. - Once the identification and relationship metadata align, the payload should reconcile correctly without the MISSING_DEPENDENCY warning.
Hope this helps you move forward!
