Service models with circular relationship


A circular relationship forms when two or more CIs are impacted and create a circular pattern with each other. You can compute the impact status correctly in a service model with a 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.

CRModel_1.png

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:

    CRModel_2.png

  • The following image displays multiple circular loops with CIs shared between two business services:

    CRModel_3.png


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:

  1. Close the publishing environment by using the following command:

    penv close -e PROD

    PROD is the default publishing environment.

  2. Stop the Publishing server.
  3. Go to the installationDirectory/pw/server/etc/pserver.conf file.
  4. Set the value for the DropConsumerRelation parameter as shown below:
    DropConsumerRelation=T
  5. Start the Publishing server.
  6. 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:
 CI <CI-Name> is part of more than one Circular loop, this is not yet supported. status propagation may be incorrect.

 Example of CI shared in a multiple loop:

 CRModel_4.png

 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.

Note

If you have an existing service model with circular relationship, you must republish the existing service model.

To view the new service model parameter, see Service model parameters.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*