Dependent CIs management
-
- UpdatedJan 30, 2025
- 8 minutes to read
- Yokohama
- Configuration Management
A life cycle update for a CI affects its dependent CIs. For example, when the CI that a dependent CI depends on is deleted, the dependent CI becomes orphan with no further use. To maintain the integrity and health of the CMDB, the system applies cascade-cleanup processes to dependent CIs that are affected by a life cycle update.
For information about independent and dependent CIs, see CMDB classifications and class dependency.
- Enable dependent CIs management as described on this page.
- Manually approve the CMDB Data Manager tasks that dependent CIs management generates, or configure those tasks to not require a review or an approval.
- Tomcat application (T1) runs on a Linux Server (L1) and contains a WAR file (W1). When L1 is deleted, T1 and W1 become orphan dependent CIs.
- Network Adapters become orphan dependent CIs when the hardware itself is deleted.
- A Linux Server has retired and is set with end of life, the assumption is that if the server is no longer operational then applications which depend on it shouldn’t be operational either.
Enable dependent CIs management
- Configure your environment for CMDB Data Manager. For details about how to configure the environment for CMDB Data Manager and the CMDB Data Manager own prerequisites, see Working with CMDB Data Manager.
- Ensure that the cmdb.dependent.ci.cascade.op.enabled system property is set to true (true by default). This property enables cascade operations and doesn't exist in the base system. Therefore, to view or modify the property value, you must first add it to the System Properties [sys_properties] table.
- To enable cascade-retirement processes, ensure that the system property cmdb.dependent.ci.cascade.retire.enabled, which is used to manage cascade-retirement of CIs, is set to true (false by default). The business rule After BR: Track “Retired” CIs, that checks for downstream CI dependencies, runs only if this property is set to true. This property doesn't exist in the base system and to view or modify it, you must first add it to the System Properties [sys_properties] table.
Cascade-cleanup operations apply only from when you enable the dependent CIs management feature. To apply cascade-cleanup to orphan dependent CIs that already existed in the CMDB before enabling the feature, see Cascade-cleanup existing orphan dependent CIs.
Use of CMDB Data Manager to perform cascade-cleanup operations
- Requesting and getting approvals from users for the life cycle updates for the CIs.
- Performing the actual delete, archive, or retire CI updates after these operations are approved.
The system generates tasks for the 'Dependent CI - Deletion', 'Dependent CI - Archive', and 'Dependent CI - Retire' Data Manager policies, with the CIs that are ready to be deleted, archived, or retired as target CIs. These policies are set with the respective 'On Demand' policy types. Then, a Data Manager admin or user, according to the Managed By Group setting, must review and approve these tasks before the Data Manager applies the respective subflow to the dependent CIs.
To automatically approve those tasks, use the CMDB Data Manager to clear the Needs Review flag of the respective Data Manager policies. Those tasks will then run without requiring any user intervention.
Cascade-retire dependent CIs
When a CI is set to retire, dependent CIs management data processes attempt to cascade-update all the CIs depending on that CI, also to retire.
- CI is updated to retire as the CI’s Life Cycle Stage attribute is set to End of Life according to CSDM standards.
-
Business rule After BR: Track “Retired” CIs runs (only if the system property cmdb.dependent.ci.cascade.retire.enabled is true) to check if the CI belongs to a class which has any downstream dependencies.
If yes: The CI is added to the CMDB CI End Of Life Ledger [cmdb_ci_end_of_life_ledger] table.
- For each CI in the CMDB CI End Of Life Ledger [cmdb_ci_end_of_life_ledger] table, the scheduled job CMDB Cascade Retire Dependent CIs checks the CI’s relationships in the CI Relationship [cmdb_rel_ci]
table. If there is a dependent relationship with a dependent CI, then that dependent CI is added to the CMDB Dependent CI Ledger [cmdb_dependent_ci_ledger] table with the Retire action.
For more information about dependent relationship rules, see CMDB dependent relationship rules.
- Scheduled Job CMDB DependentCI Policy Processor runs (if the system property cmdb.dependent.ci.cascade.retire.enabled is true) to process the CIs in the CMDB Dependent CI Ledger [cmdb_dependent_ci_ledger] table. Those CIs are set as being ready to retire upon approval using the CMDB Data Manager. A task is created in the CMDB Data Manager against the Dependent CI Retire policy to actually retire the CIs.
Cascade-archive dependent CIs
Archiving a CI can leave its dependent CIs as orphans in the CMDB. To prevent the accumulation of stale data, the system applies cleanup processes that cascade-archive those orphan dependent CIs.
Orphan dependent CIs are not immediately archived. When a CI is archived, all the CI relationship records for that CI in the [cmdb_rel_ci] table, are also archived. The system then checks for any dependent CIs that were orphaned as a result of this archiving. Any CIs in the dependency chain that are identified as orphan dependent CI, are checked for any of the following conditions. CIs that meet any of these conditions are not orphan dependent CIs and therefore will not be archived:
- The CI is an unhandled duplicate CI (the CI is associated with an unresolved de-duplication task).
- The CI has multiple parent CIs.
- The CI belongs to an excluded class. Excluded classes are stored in the CMDB Dependent CI Class Exclusion [cmdb_dependent_ci_class_exclusion] table. In the base system, that table is pre-populated with some classes such as cmdb_ci_vm, cmdb_ci_vmware_instance, and other VMware-related classes. You can manage the set of classes that are exempt from management of orphan dependent CIs, by adding or removing records to that table.
Cascade-delete dependent CIs
Deleting a CI can leave its dependent CIs as orphans in the CMDB. To prevent the accumulation of stale data, the system applies cleanup processes that cascade-delete those orphan dependent CIs.
- CI is updated to be deleted as the CI’s Life Cycle Stage attribute is set to End of Life according to CSDM standards.
-
All relationships in the cmdb_rel_ci table, associated with the deleted CI, are deleted.
-
Business rule After BR: CMDB Dependent CI Delete runs (only if the system property cmdb.dependent.ci.cascade.op.enabled is true) to check each of the deleted relationships in the CI Relationship [cmdb_rel_ci] table, whether the other CI (parent or child) in the relationship is an orphan dependent CI.
If yes: Those orphan dependent CIs are added to the CMDB Dependent CI Ledger [cmdb_dependent_ci_ledger] table and set with Action = Delete.
- Scheduled Job CMDB DependentCI Policy Processor runs (if the system property cmdb.dependent.ci.cascade.retire.enabled is true) to process the CIs in the CMDB Dependent CI Ledger [cmdb_dependent_ci_ledger] table. Those CIs are set as being ready to be deleted upon approval using the CMDB Data Manager. A task is created in the CMDB Data Manager against the Dependent CI Delete policy to actually delete the CIs.
Orphan dependent CIs aren't immediately deleted. Prior to deleting each of the CIs relationship in the CI Relationship [cmdb_rel_ci] table, the system checks if other CI in the relationship belongs to a dependent class. Any CIs in the dependency chain that are identified as dependent on the deleted CI, are checked for any of the following conditions. CIs that meet any of these conditions aren't orphan dependent CIs and therefore aren't marked for deletion:
- The CI is an unhandled duplicate CI (the CI is associated with an unresolved de-duplication task).
- The CI has multiple parent CIs.
- The CI belongs to an excluded class. Excluded classes are stored in the CMDB Dependent CI Class Exclusion [cmdb_dependent_ci_class_exclusion] table. In the base system, that table is pre-populated with some classes such as cmdb_ci_vm, cmdb_ci_vmware_instance, and other VMware-related classes. You can manage the set of classes that are exempt from management of orphan dependent CIs, by adding or removing records to that table.
Extraneous relationships
For the delete and archive operations, the system also tracks CIs' extraneous relationships in the Dependent CI Relations Evaluation Config [cmdb_dependent_ci_extra_rels_config] table. Extraneous relationships are those relationships that aren't in the CI’s chain of dependency and deleting or archiving them depends on the value of the cmdb.dependent.ci.extra.rel.check system property. This property is set to true by default, in which case extraneous relationships aren'tt deleted or archived. You can set the property to false to delete and archive extraneous relationships.
The cmdb.dependent.ci.extra.rel.check property doesn't exist in the base system and to view or modify the property value, you must first add it to the System Properties [sys_properties] table.
Cascade-cleanup existing orphan dependent CIs
When enabling the dependent CIs management feature, the cascade-cleanup operations apply only from when the feature is enabled. However, it might be necessary to apply a similar cascade-cleanup operation to orphan dependent CIs that already existed in the CMDB before the feature was enabled.
Activate the Cleanup Orphan CIs scheduled job to perform a one-time cascade-cleanup of orphan dependent CIs across the CMDB. The Cleanup Orphan CIs scheduled job checks throughout the entire CMDB to identify any orphan dependent CIs. These CIs are then processed in the same manner that CIs that are cascade-deleted are processed. CIs that are ready to be deleted are added to the CMDB Dependent CI Ledger [cmdb_dependent_ci_ledger] table. The CMDB Data Manager is then leveraged as described in the Use of CMDB Data Manager to perform cascade-cleanup operations section.
The Cleanup Orphan CIs scheduled job is intended to run only once, after which the job deactivates itself. Depending on the size of the CMDB, it might take the Cleanup Orphan CIs scheduled job several days to complete.
Sample scenario: cascade-retire
- Enable dependent CIs management.
- In CMDB Data Manager, create and publish a Retire policy. For example, retire an independent Linux Server CI with relationships to the dependent CIs Network Adapter and File System.
- Wait for the scheduled job CMDB Data Manager Retire Policy Processor to run, or run it manually.
- In the Data Manager overview page, select the Open task card and approve the retirement task (Approval=Approved). Change the state of the task to 'Work in progress' if it doesn't change automatically. This will retire the Linux Server CI and add it to the cmdb_ci_end_of_life_ledger table.
-
Run the scheduled job CMDB Cascade Retire Dependent CIs.
This scheduled job processes each CI in the cmdb_ci_end_of_life_ledger table, and queries the relationships in the cmdb_rel_ci table for this CI. If a relationship exists with other dependent CI, then those dependent CI are added to the cmdb_dependenct_ci_ledger table with the settings of state = 'Ready' and action = 'Retire'.
- Wait for the scheduled job CMDB DependentCI Policy processor to run, or run it manually. This scheduled job creates a task against the OOB Dependent CI Retire policy, targeting the CIs in the cmdb_dependenct_ci_ledger table.
- In the Data Manager overview page, select the Open task card and approve the task described with “Dependent CI – Retire..”.
On this page
Related Content
- CMDB record types
The CMDB contains the following major record types.
- Related Lists of CI components
Related lists in CI records display additional components contained by that CI, such as disk drives on a server and the rules that control the behavior of a network router.
- Create a CI class
Create a CI class (table) that is an extension of an existing CI class. Then create identification and reconciliation rules for the new class.
- Reclassify a CI
You can upgrade, downgrade, or switch the class of a CI by modifying its Class attribute.
- Delete CIs
You can use the CI Class Manager to delete CIs that are no longer needed.
- View and edit class definitions and metadata
Use the CI Class Manager as a central location to explore the CMDB class hierarchy, CI table definitions, and class CIs. View the details of each table such as its label and fields, relationships, and all related metadata definitions.
- Update the list of classes in the Principal Class filter
Manage the list of classes that are included in the Principal Class filter to restrict the CIs that appear in CIs list views to only specific classes that you need. You can add or remove CMDB classes from the Principal Class filter.