Moving your customization to a new target system
Migrating CMDB customizations
The following image describes the process to migrate CMDB customizations:
You can export and import CMDB customizations from the source system to the target system by using the Deployment Management Console. Alternatively, you can use the cdmchecker utility to export and import the customizations.
To identify the customizations
Identify all the out-of-the-box CMDB metadata for classes and attributes by using the cdmchecker utility. For information about cdmchecker utility, see Troubleshooting issues when using the CDMChecker tool.
To identify the CMDB customizations, perform the following steps:
- Make sure that all the applications and CMDB extensions are installed on the OOB system so that the products installed on target system where customizations need to be migrated are same.
For example, if the source system where you want to identify the customizations has ITSM and True Sight extension installed. On the OOB system of the same version, make sure that the system has ITSM and True Sight extension installed. In the OOB environment that has the same version as that of your source system, run the following cdmchecker tool command:
cdmchecker -x <name of xml file to include all classes> -u <user> -p <password> -s <server> -t <TCP Port>This command exports an OOTB xml file for the CMDB classes and attributes.
Compare the OOTB xml file generated in the step 2 with the source system by using the following command:
cdmchecker -c <name of xml file to include all classes> -u <user> -p <password> -s <server> -t <TCP Port>This command displays the classes and attributes found in the source system. A sample output of the command for Added Classes, Added Attributes, and Changed Attributes is as follows:
************************************************
Added Classes:
************************************************
CUS.CORE:CUS_CloudInfo
************************************************
************************************************
Added Attributes:
************************************************
BMC.CORE:BMC_WAN::WANInfo
************************************************
************************************************
Changed Attributes:
************************************************
BMC.CORE:BMC_BaseElement::RequestId
BMC.CORE:BMC_BaseRelationship::RequestId
BMC.CORE:BMC_Collection::isVirtual_old
BMC.CORE:BMC_ElementLocation::ElementLocation
************************************************
To export the customizations by using the Deployment Management Console
- Log in to Mid Tier as an administrator.
- Select AR System Administration > AR System Deployment Management Console.
On the AR System Deployment Management Console page, click Create.The following image shows an example:
- Specify the details such as package name, version, and description.
- From the Content Type drop down list, select CMDB.
- Add the classes and attributes.
From the CMDB Object Type drop down list, select any of the following options:- To add a class, select Add Class, click Add, select the class name and click Add.
The following image shows an example: - To add an attribute, select Add Attribute, click Add, select the attribute name and click Add.
- To add a class, select Add Class, click Add, select the class name and click Add.
- Click Save.
A package is created and a package creation message is displayed. - Navigate to the Deployment Management Console.
To build the package, click Build.
The following image shows an example:After the package is built successfully, the build status changes to Ready for Export.
To export the package, click Export.
The following image shows an example:
To import the customizations by using the Deployment Management Console
- Log in to the target system.
- Select AR System Administration > AR System Deployment Management Console.
On the AR System Deployment Management Console page, click Import.The following image shows an example:
After the import completes successfully, click Deploy.
The following image shows an example:
To export and import the customizations by using the cmdbdriver utility
Export custom CMDB classes and attributes by using the expdf command.
An example of exporting a complete custom CUS_CloudInfo class with all custom attributes is as follows:Command: expdf
EXPORT DEFINITION
Export Item List:
Number of export items (0): 2
Item Type: (Class, Attribute) (1-2) (1): 1
Class Type
Class Name
Namespace (): CUS.CORE
Class name (): CUS_CloudInfo
Item Type: (Class, Attribute) (1-2) (1): 2
Attribute Type
Class Name
Namespace (): CUS.CORE
Class name (): CUS_CloudInfo
Number of Attributes (0): 7
Attribute Name (): CUS_ID
Attribute Name (): CUS_LastModifedDate
Attribute Name (): CUS_Place
Attribute Name (): CUS_StackID
Attribute Name (): CUS_Reference
Attribute Name (): CUS_ServerName
Attribute Name (): CUS_LastModifiedBy
Filename for exported def: CUS_CloudInfo.xml
CMDBExportDef results
ReturnCode: OK
Status List : 0 itemsAn example of exporting additional custom attributes from an OOB class is as follows:
Command: expdf
EXPORT DEFINITION
Export Item List:
Number of export items (0): 1
Item Type: (Class, Attribute) (1-2) (1): 2
Attribute Type
Class Name
Namespace (): BMC.CORE
Class name (): BMC_SoftwareServer
Number of Attributes (0): 10
Attribute Name (): CUS_DCName
Attribute Name (): CUS_Activity_Month
Attribute Name (): CUS_Activity_Day
Attribute Name (): CUS_Activity_Time
Attribute Name (): CUS_Activity_Date
Attribute Name (): CUS_Activity_Frequency
Attribute Name (): CUS_Activity_Time
Attribute Name (): CUS_Activity_TimeZone
Attribute Name (): CUS_Activity_Week
Attribute Name (): CUS_Rack
Filename for exported def: BMC_SoftwareServer_Custom_attr.xml
CMDBExportDef results
ReturnCode: OK
Status List : 0 itemsRun the import command with customization file as an input.
An example of importing a complete custom class is as follows:
Command: impdf
DEFINITION IMPORT
Import Item List:
Number of import items (0):
Import option: Create/Overwrite (1-2) (1): 1
Filename containing import data: CUS_CloudInfo.xml
CMDBImportDef results
ReturnCode: OK
Status List : 0 itemsAn example command to import all custom attributes in the BMC_SoftwareServer class in the target system is as follows:
Command: impdf
DEFINITION IMPORT
Import Item List:
Number of import items (0):
Import option : Create/Overwrite (1-2) (1): 1
Filename containing import data: BMC_SoftwareServer_custom_attr.xml
CMDBImportDef results
ReturnCode: OK
Status List : 0 itemsCreate UI Asset forms for the imported classes. To create an asset form, see Synchronizing the BMC Asset Inventory forms with BMC Atrium CMDB.
Migrating workflow customizations
You can use BMC Developer Studio to migrate workflow customizations. The high-level steps are:
- Identify and export overlaid and custom workflow to a definition file.
- Migrate customer AR System groups.
- Import overlays and customer workflow from a definition file.
To identify and export overlaid and custom workflow
- Open Developer Studio and connect to source system. Make sure you are using Best Practice Development Mode.
- Open the list of forms in your source system and sort by the Customization Type to bring all Custom and Overlay objects to the top of the list.
- Select all overlaid forms. Then, right-click and select Export To File.
- On the Export dialog box, enter the name of the file you want to export to.
You can use multiple files for each category or consolidate all exports into a single definition file. - Select all of the real custom forms. Then, right click and select Export To File.
Some forms might be incorrectly specified as Custom but may be out-of-the-box. These include SLA join forms generated by BMC Helix ITSM. - Repeat steps 2-5 for active links, filters, active link guides, filter guides, applications, web services, and menus.
Migrating customer AR System groups
Before importing workflow, make sure that any custom AR System groups or roles that are referenced in your workflow have been migrated to your target system. Use BMC Helix Data Manager to migrate the data for your custom AR System groups or simply export the groups and roles to an arx file and use the AR System Import Tool to import them.
To import overlays and customer workflow from a definition file
- Open Developer Studio and connect to target system. Make sure you are using Best Practice Development Mode.
- Select File > Import.
- In the dialog box, select Object Definitions, and click Next.
- Select the server you want to import into and click Next.
- Open the Import definition file and click Next to view the list of objects available for import.
For overlaid forms, the underlying base form and the overlay will be in the definition file. The overlay is indicated with a " o" suffix. For example, an overlay of "AAS:Activity appears in the definition file as "AAS:Activity o".
You must remove all instances of the base form or workflow from the definition file when importing an overlay, or the base form will be updated with the older version form definition. - After you have configured the set of workflow to be imported, click Import.
You should not need to overwrite any definitions in the target system unless you are reattempting an import. If the Replace Objects on the Destination Server flag is not checked, you might accidentally update the base layer, so it may be safer to delete and re-import overlays if reattempting a migration. - Repeat steps 2-6 for each of your definition files.
Handling exceptions
It may not be possible to import all of your overlaid workflow.
For Example: If an overlaid object does not exist on the target, or if the customizations are so significant that the definition cannot even be imported as an overlay.
Manage these exceptions on a case-by-case basis because the change will likely need to be redeveloped.
Three-way reconciliation
Three-way reconciliation enables you to compare your overlaid workflow with the base objects from the previous and new BMC Helix ITSM version. This enables you to evaluate whether the customization that was applied to the previous version is still valid and whether you should carry it forward in the same way.
For additional details, see Comparing-and-reconciling-objects-using-the-Objects-list.
After your customizations and overlays are migrated to the larger system, complete the following steps to use three-way reconciliation to validate your customizations when using the Staged Upgrade methodology.
To validate your customizations
- Open Developer Studio and log in to the source and target AR System server.
- Right-click the source server and select Capture Snapshot.
- Right-click the target server and select Compare with Snapshot.
Overlays that might not be compatible with the changes being applied in the new version are highlighted for your review (as shown in the screen shot). Overlays with no clashes are not flagged, so if you get no output from this comparison, that is a desirable output.
Where to go from here