3.2 Importing MetaModel Libraries and Defining Association Rules

CMS leverages MetaModel libraries to build your CMDB items and structure. It is necessary to import CIM models or any other models you wish to use into the Operations Center server so the model infrastructure is accessible by CMS.

3.2.1 Importing a Model into the Operations Center MetaModel Library

Two CIM libraries are available with the CMS installation. Because the full CIM MetaModel can be overwhelming with the number of classes and associations, Operations Center offers CIM LITE, a subset of the CIM models’ classes and associations that can be used as an example starting point if you do not require the full CIM model.

To avoid confusion to end users (such as duplicate classes that cannot be identical in all respects), it is recommended to import only one CIM-related MetaModel—either the CIM or CIM LITE MetaModels, but not both.

To import a model into the MetaModel library:

  1. Log in to the Operations Center console.

  2. From the Operations Center Explorer pane, right-click Enterprise > Administration > Server, then select Configuration > Import to open the Import dialog box:

  3. Browse to the /webapps/noc/CMS/metamodel directory of your CMS installation and select the MetaModel’s XML file: -CMS_CIM.config.xml or CMS_CIM_LITE.config.xml.

  4. Click OK to import it.

3.2.2 Reserved Association Types

Any association with the prefix of CMS_ is reserved for internal use and is not displayed in CI relationships, the relationship builder or reporting. While it is possible to use this prefix when defining your own association types, we recommend against it as these relationship are not visible to CMS users.

3.2.3 Defining Associations within your MetaModel Library

While CIM MetaModel libraries are important for identifying the various items in your CMDB, association rules are utilized to instruct users during the CI creation process on how various items relate to each other and their “rules” for existence. For example, there must be one related computer system for each operating system item.

Although MetaModel libraries can have their own set of default association rules, you should create new association rules to reflect the associations in your environment. Later when CMS contributors create new CI items, users are prompted to set up other CIs and relationships based on these association rules.

While association rules alert users to the fact that certain relationships are expected and required, they do not force the user to fix broken relationships nor prohibit the creation of relationships beyond the maximum number.

For more information on defining classes, behavior models and property pages, see Operations Center 5.6 Service Modeling Guide.

To create a new association rule in the MetaModel library:

  1. In the Operations Center console Explorer pane, expand Administration > Metamodel > Classes to the desired MetaModel library:

    If no metamodel libraries were imported and there are no plans to do so, create a new Associations folder under Classes to have access to this functionality.

    For more information about adding folder to the MetaModel hierarchy, see the Operations Center 5.6 Service Modeling Guide.

  2. Right-click Associations under the metaModel library, then select Create Association to open the Create Association dialog box:

    In the example above, the settings on the left for CIM_ComputerSystem trigger an alert that one relationship must be defined to a ComputerSystem item for every OperatingSystem item created. By not defining any relationships on the right side for CIM_OperatingSystem, no relationships for ComputerSystems are enforced when an OperatingSystem item is created.

  3. Specify the name of the association in the Name field.

  4. If desired, enter a description of the association definition in the Description field.

  5. For each association endpoint, click Browse to select the desired class.

  6. Using the Cardinality selectors, specify a requirement to have relationships with items of the other class by selecting either cardinality check box under the other class.

    Set a Cardinality Minimum under an endpoint class to specify the number of required relationships to items of that class. If no associations are required to that class, do not select the Cardinality Minimum check box.

    Set a Cardinality Maximum under an endpoint to specify the maximum required relationships to items of that class. If there is no maximum to enforce with that class, do not select the Cardinality Maximum check box.

    In the above example, when an Operating System item is created, the user is alerted that they must define one (and only one) relationship to a Computer System item. The user is not alerted to when creating a Computer System item because there is no requirement to have any relationships with Operating System items. Unless other association rules exist to the contrary, the user is allowed to create any number of relationships to Computer System items without receiving an error message.

3.2.4 Editing Association Rules in the MetaModel Library

To edit association rules in the metamodel library:

  1. In the Operations Center console Explorer pane, expand Administration > Metamodel > Property Pages to the desired metamodel library.

  2. Expand the Associations folder under the metamodel library.

  3. Locate the property page for the desired association rule.

    For the example used in the previous instructions, we would look for CIM_InstalledOS_Page.

  4. Right-click the property page, then select Properties to open the Properties dialog box.

  5. Click the Property Page panel.

    The association rules display in the Property Definitions list:

    The association requirements relating to Source items are defined in a GroupComponent definition and those relating to Destination items are defined in a PartComponent definition.

  6. Double-click the definition to edit to open the Edit Property dialog box.

  7. Click Forward to view that part of the association rule.

    In the illustration above, we opened the AntecedentReference definition, which alerts that one Computer System relationship is required every time an Operating System item is created.

  8. Make any changes as necessary to the definition.

  9. Click Finish to save the changes.