Resynchronizing a CMDB connection

Occasionally, the model stored in the CMDB dataset becomes out of step with the shadow copy for a CMDB connection and requires resynchronization. For example, if CMDB tools have been used to modify the dataset. In this case, when updates are written to non-existent nodes, instance errors are raised. When BMC Helix Discovery registers these instance errors, it attempts to correct the situation automatically, but if the errors keep occurring, a resynchronization is recommended.

If you create a new connection to an empty CMDB dataset, there is no need to perform a resync. If you think you are using an empty dataset, but the system reports that a resync is required because the CMDB dataset is not empty, that is a sign that the dataset is not really empty. A common cause is the presence of CIs that have MarkAsDeleted=Yes. The dataset must be totally empty of all data for BMC Helix Discovery to consider it empty.

See the following video (05:17), which explains the options available for resynchronizing a CMDB connection and how to resume an interrupted sync.

 https://youtu.be/6Vjw9hXyGGg


The resynchronization process runs as follows, more details are available in the CMDB Synchronization page:

  1. Preparation – Prepare Resync performs the following actions, without changing any data in the CMDB:
    1. Reads identities of all CIs and relationships from the CMDB dataset.
    2. Transforms all BMC Helix Discovery data into the local shadow copy.
    3. Compares the data read from the CMDB with the updated local shadow copy.
  2. Commit – Commit Resync performs the following actions in the CMDB: 
    1. Creates CIs and relationships missing from the dataset.
    2. Marks deleted any CIs or relationships present in the dataset but not in the local shadow copy.
    3. Updates all CIs and relationships to ensure their attributes match those in the local shadow copy.

There are two types of resynchronization:

  • Complete Resync – in which the Commit Phase runs to completion, and may take a long time.  
  • Incremental Resync – in which the Commit Phase is performed incrementally as root nodes are synchronized.

You can choose which type of resync to use on the Resync tab of the CMDB Sync page. You can also choose to prepare the resync only, in which case the resync is prepared on the BMC Helix Discovery side; no updates are made to the CMDB. Using prepare only you can examine the changes that CMDB Sync will make to the CMDB before performing the commit.

To resync a CMDB connection

In the following example, a new CMDB sync connection has been created, but the CMDB dataset has been used previously and is not empty. In this situation a resync is mandatory; no CMDB sync operations using this connection are possible until after the resync.

  1. From the CMDB Sync page, click the Resync link. If you are on the CMDB Connection page, click the Resync tab.
    The CMDB Connection page is displayed with the Resync tab active.
  2. Select one of the following:
    • Complete resync–the Preparation and Commit phases run consecutively.
    • Incremental resync–the Preparation and Commit phases run consecutively, but the Commit phase is incremental.
    • Prepare only–only the Preparation phase takes place enabling you to examine the changes that will be made in the CMDB on committing.
  3. Click Start Resync. The following steps are performed and the screen is refreshed to show progress:
    1. Reads identities of all CIs and relationships from the CMDB dataset.
    2. Transforms all BMC Helix Discovery data into the local shadow copy.
    3. Compares the data read from the CMDB with the updated local shadow copy.

      At this stage, if you selected Prepare only, you can review the changes that are required to resync. Check that you see what you expect to see. For example, if you intend to resync a new connection to an empty CMDB dataset, then many updates or deletes may indicate that you have specified the wrong dataset. Once the preparation phase is complete, click Commit Resync to complete the resync.
    If you selected Complete resync or Incremental resync, the commit phase takes place immediately after the preparation. It:
    1. Creates CIs and relationships missing from the dataset.
    2. Marks deleted any CIs or relationships present in the dataset but not in the local shadow copy.
      In the specific case of BMC Remedyforce, even if there is no concept of dataset, CIs added using the BMC Remedyforce UI are ignored by BMC Helix Discovery. They are not marked as deleted or updated at any time, even during a resynchronization. The reason for this is that in BMC Remedyforce, all CIs maintained by Discovery have a Source of "BMC Discovery". Those are the ones that are considered during resynchronization. CIs or relationships with any other Source are ignored by BMC Helix Discovery.
    3. Updates all CIs and relationships to ensure their attributes match those in the local shadow copy.
    In a Complete resync, the commit phase performs all these changes before normal synchronization can resume. In an Incremental resync, normal synchronization can resume immediately; the changes are applied as each root device is synchronized.



To resume an incomplete resync

Where a resync has been interrupted for some reason, you can resume the resync from where it was interrupted rather than have to start a new resync. If an error caused the interruption, fix the error before attempting to resume the resync.

To resume an incomplete resync, select the resync type you want (Complete resync, Incremental resync or Prepare only) then click the Resume Incomplete Resync button. To start from the beginning of the process rather than resuming, click the Start New Resync button.

Was this page helpful? Yes No Submitting... Thank you

Comments