Service models with circular relationship
Consider the following service model.
The following loops exist between 3 CIs:
- CR2, CR4, CR6
- CR3, CR5, CR7
Therefore, a circular relationship is formed between the CIs.
The above image is an example of a multiple circular loop in a single service model.
Additional scenarios
- The following image displays a single circular loop in the service model:
- The following image displays multiple circular loops with CIs shared between two business services:
Supported functionality
The following functionalities are supported for service models with circular relationship:
- Status calculation for the direct impact propagation model
- Status calculation with the manual and maintenance mode
- BMC Service Resolution integration (L3-policy use case)
- Shadow CIs (Distributed Service Model with the BMC Patrol and ProactiveNet Performance Management central and child architecture)
Dropping consumer relationships
If you don't want to publish circular models, you can convert a circular model between CIs to a linear one. BMC recommends that, in a single model, you set only one CI as the top-level CI that has the PublishToSIM setting set to Publish Me and My Providers. If you use this setting for multiple CIs in a single model, the model might become circular instead of linear.
You can convert a circular relationship to a linear relationship by performing the following tasks:
Close the publishing environment by using the following command:
penv close -e PRODPROD is the default publishing environment.
- Stop the Publishing server.
- Go to the installationDirectory/pw/server/etc/pserver.conf file.
- Set the value for the DropConsumerRelation parameter as shown below:
DropConsumerRelation=T - Start the Publishing server.
- Publish the CIs.
You can obtain information about the dropped relationships by viewing the publishing history from the Admin console, or from the .xml log file in the pw\server\log\<psname> folder.
Limitations
- If the CI is shared in multiple loops, a warning event {MC_SM_CI_MULTIPLE_CIRCLE_PART} is generated with the following message:
Example of CI shared in a multiple loop:
CI:10thMarch_3 is a part of multiple circular loop.
- If you configure relationship types such as Increasing, Decreasing, Just_Info, or Just_Warning when CIs are in a circular loop, the behavior might be different when compared with a straight model without loops.
- If you configure an outage policy that are in a circular relationship, there might be some issues in generating outage incident. It doesn’t occur for outage policy if there is a normal (non-circular) relationship.
To view the new service model parameter, see Service model parameters.