Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

Dependent CI Task

benjaminayo
Tera Contributor

Xanadu System:

Please work with me, first role in CMDB, first 2 months with no experienced SN CMDB SME on team.

I am working on adding the task for Dependent CIs to be retired when the connected to main CI is retired,
Following the SN doc here: https://www.servicenow.com/docs/r/xanadu/servicenow-platform/configuration-management-database-cmdb/...
states that i need the system property "cmdb.dependent.ci.cascade.retire.enabled" be True, but my company does not seem to have this what I believed to be a OOB function. 

Right now when I manually retire CIs the dependent CIs go onto the (cmdb_dependent_ci_ledger) as it should but no task is being created...
My question is what are the steps/list to getting this automated?
If i create this system property myself is there anything I need to do in addition?
What script needs to be in the system property 



1 ACCEPTED SOLUTION

Chelsea Ruel
Tera Expert

I had a really hard time when I enabled Dependent CI Management a couple of years ago.  Here's my notes on how this works, as far as I know not fully documented anywhere by ServiceNow.

-----------------------------------------------------------------------

Business Rule Track "Retired" CIs

Triggers when a CI is retired. (based on a Filter Condition that needs to match your retirement definitions)

Checks if a retiring 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. 

Note: It does not check if the retiring CI has any dependent CIs, just whether it belongs to a class that has dependent CI relationship rules. 

 

Scheduled Job CMDB Cascade Retire Dependent CIs 

Runs every 4 hours

Checks the relationships in the CI Relationship cmdb_rel_ci table for each CI in the CMDB CI End Of Life Ledger cmdb_ci_end_of_life_ledger table.

If there is a dependent relationship with dependent CI/s, then those dependent CIs are added to the CMDB Dependent CI Ledger cmdb_dependent_ci_ledger table with the Retire action. 

 

Scheduled Job CMDB DependentCI Policy Processor 

Runs at 6:30pm

Processes the CIs in the CMDB Dependent CI Ledger cmdb_dependent_ci_ledger table. A CMDBTASK is created in the CMDB Data Manager against the Dependent CI Retire policy to actually retire the CIs.

CMDBTASK Assignment Group is the CI ‘Managed By Group’. If the CI ‘Managed By Group’ is empty CMDBTASK was assigned to "System Administrator". 

 

For the CMDBTASK creation you need to have the CMDB Data Manager setup, including setting up Retirement Definition/s: https://www.servicenow.com/docs/r/xanadu/servicenow-platform/configuration-management-database-cmdb/...

------------------------------------------------------------------------------------------------- 

 

Theoretically the Business Rule Track "Retired" CIs only runs if cmdb.dependent.ci.cascade.retire.enabled is true. The documentation you linked to explains that cmdb.dependent.ci.cascade.retire.enabled is false by default, and to modify the value you need to create it.

"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."

 But if the cmdb_dependent_ci_ledger is being populated you're probably fine for system properties.

View solution in original post

1 REPLY 1

Chelsea Ruel
Tera Expert

I had a really hard time when I enabled Dependent CI Management a couple of years ago.  Here's my notes on how this works, as far as I know not fully documented anywhere by ServiceNow.

-----------------------------------------------------------------------

Business Rule Track "Retired" CIs

Triggers when a CI is retired. (based on a Filter Condition that needs to match your retirement definitions)

Checks if a retiring 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. 

Note: It does not check if the retiring CI has any dependent CIs, just whether it belongs to a class that has dependent CI relationship rules. 

 

Scheduled Job CMDB Cascade Retire Dependent CIs 

Runs every 4 hours

Checks the relationships in the CI Relationship cmdb_rel_ci table for each CI in the CMDB CI End Of Life Ledger cmdb_ci_end_of_life_ledger table.

If there is a dependent relationship with dependent CI/s, then those dependent CIs are added to the CMDB Dependent CI Ledger cmdb_dependent_ci_ledger table with the Retire action. 

 

Scheduled Job CMDB DependentCI Policy Processor 

Runs at 6:30pm

Processes the CIs in the CMDB Dependent CI Ledger cmdb_dependent_ci_ledger table. A CMDBTASK is created in the CMDB Data Manager against the Dependent CI Retire policy to actually retire the CIs.

CMDBTASK Assignment Group is the CI ‘Managed By Group’. If the CI ‘Managed By Group’ is empty CMDBTASK was assigned to "System Administrator". 

 

For the CMDBTASK creation you need to have the CMDB Data Manager setup, including setting up Retirement Definition/s: https://www.servicenow.com/docs/r/xanadu/servicenow-platform/configuration-management-database-cmdb/...

------------------------------------------------------------------------------------------------- 

 

Theoretically the Business Rule Track "Retired" CIs only runs if cmdb.dependent.ci.cascade.retire.enabled is true. The documentation you linked to explains that cmdb.dependent.ci.cascade.retire.enabled is false by default, and to modify the value you need to create it.

"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."

 But if the cmdb_dependent_ci_ledger is being populated you're probably fine for system properties.