Change and Dynamic CI Groups

HMJ
Tera Contributor

We are using Dynamic CI Group as a Technology Management Offering container and the correclty show up in cmdb_ci_query_based_service and the service classification is set to " Technology Management Service". As an example here we have a group of all Production Linux Servers named "Linux Server PROD".

 

In Parallel we have a service instance as Tag based service "Service Instance P" that contains one of the production Linux Servers (e.g. "LinuxServer1") in its map and therefore is represented in "cmdb_key_value" and "svc_ci_assoc".

 

If we know set this server "LinuxServer1" as "Affected CI" in a Change and let the "Refresh Impacted services" do its work, we currently see all services instance related to all servers in "Linux Server PROD" instead of only "Service Instance P" as the service instance, that is impacted.

 

Is there any way OOTB that we can use to exclude the CI's in a Dynamic CI Group that is only used for  "Technology Management Service" from the impact analysis for such changes?

 

1 REPLY 1

Mathew Hillyard
Tera Sage

Hi @HMJ 

This is how the instance is configured to refresh impacted services:

 

Business Rule "Refresh Impacted Services" calls...

Script Include function TaskUtils().triggerRefreshImpactedServices() which is extended from

Script Include function TaskUtilsSNC().triggerRefreshImpactedServices() which for Change, which calls

Script Include function ChangeUtils().refreshImpactedServices() which is extended from

Script Include function ChangeUtilsSNC().refreshImpactedServices() which, assuming refreshing is not using events and you are using Affected CIs to calculate Impacted Services, calls function getImpactedServicesFromAffectedCIs(), which calls

Script Include function CIUtils()._getImpactedServicesFromAffectedCIs() - which supplies all the Affected CIs on the Change to the Service Configuration Item Association table and returns a deduplicated list of the Service Ids (Service Instances).

Function getImpactedServicesFromAffectedCIs()also calls Script Include function 

ChangeCollisionHelper.getImpactedServicesByChangeId(), which gets all impacted service instances and Business/Technology Services that are in conflict with any Affected CIs in the Change subject to a change conflict.
The other related lists are then calculated via TaskOfferingSNC() (incorrectly OOTB as it happens) and TaskBusinessAppSNC().

 

It's possible your Change has one or more Change Conflicts, which are bringing in the other services.

The other possibility is that you have entered the Dynamic CI Group into the Configuration item field on the Change. This unpacks the DCG via a Business Rule and adds all contained CIs into Affected CIs.

 

If neither of the above is the case then OOTB what you're describing will not happen OOTB, which would presumably mean your instance is customised.

 

I hope this helps!

Mat