Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

How to define "Hosted on::Hosts" relationship between cmdb_ci_lb_pool and u_cmdb_ci_kemp_lb in Disco

Pratiksha
Mega Sage

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:

  1. Is there anything specific required in the payload (besides load_balancer) to satisfy the containment rule?

  2. Does the IRE require the relationship to be explicitly defined in the relations array when using reference fields?

  3. 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!

 

 

Screenshot 2025-05-07 at 10.24.09 PM.png

 Please help 

 

@itom 

1 REPLY 1

Steven Coda
Tera Expert

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:

  1. Verifying there’s an Identification Rule for u_cmdb_ci_kemp_lb
  2. Confirming that the dictionary entry for load_balancer references cmdb_ci_lb)
  3. 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!