Error: Invalid spaceKey on retrieving a related space config.

Importing data from BMC Discovery

Note

Starting with the 20.18.01 release, Remedyforce has replaced the older BMC Discovery integration, which required Pentaho, with an improved (API-based, no Pentaho required) integration . This improved integration offers many enhancements including additional classes, relationships and synchronization. It is recommended that you move to the new integration to take advantage of the many new features. To learn more about the differences between the old (Pentaho) integration and the new (API-based) integration, please refer to the Remedyforce and BMC Discovery FAQ documentation.


You can import data from BMC Discovery (known before version 11.0 as BMC Atrium Discovery and Dependency Mapping) into BMC Remedyforce CMDB 2.0 by using the Pentaho Data Integration tool. The Pentaho packages for importing data from BMC Discovery are available on the BMC Communities website. For information about how configuration items (CIs) are imported and relationships are created in CMDB 2.0, see Overview of how data is imported into BMC Remedyforce.

The following topics provide information about importing data from BMC Discovery into BMC Remedyforce CMDB:

Note

For information about the BMC Discovery versions that BMC Remedyforce supports, see Supported browsers, mobile devices, and integrations.


Before you begin

Before you can import data from BMC Discovery into BMC Remedyforce CMDB, you must perform the following tasks:

To import data from BMC Discovery


  1. Navigate to the location where you downloaded and unzipped the Pentaho Data Integration tool, navigate to the data-integration folder, and make a backup copy of the Kitchen.bat file.
  2. In the folder that you downloaded from the BMC Communities website, double-click the Common folder, copy the Kitchen.bat file, and paste it into the data-integration folder.
  3. To launch the Pentaho Data Integration tool, navigate to the data-integration folder and double-click the Spoon.bat file.
  4. In Pentaho Spoon, select File > Open, navigate to the folder where you downloaded the Pentaho package, and open the appropriate KJB file.
    For example, to import LAN Endpoint CIs into BMC Remedyforce CMDB, open the TransferADDMLANEndpointInfotoCMDB.kjb file in the LANEndpoint folder.
  5. In the Transformation step (transformation), provide your BMC Discovery server access details.

     Click here to see the detailed steps.
    1. Right-click the Transformation step, select Open referenced object, and then select Transformation.
    2. On the GenerateCSVAPIFile tab, double-click the Create CSV URL step.
    3. In the Script Values / Mod window, perform the following actions:
      1. Replace <Enter HostName> with the BMC Discovery server name or the primary IP address of BMC Discovery.
      2. Replace <Enter UserName> with the BMC Discovery user name.
        Ensure that you enter the user name and password of a BMC Discovery system administrator. 
      3. Replace <Enter Password> with the BMC Discovery password.
      4. To save your changes and close the Script Values / Mod window,click OK.
      5. To save the KTR file, click Save.
  6. Navigate to the KJB file that you opened in step 4.

  7. In the Update BE Table With ADDM <CI type name> Information step (transformation), provide your Salesforce organization access details and, if required, customize the Pentaho package.

     Click here to see the detailed steps.
    StepActionDetails
    a.

    Open the  Update BE Table With ADDM <CI type name> Information step.

    For example, Update BE Table With ADDM LANEndpoint Information

    Right-click the Update BE Table With ADDM <CI type name> Information step, select Open referenced object, and then select Transformation.
    b.(Optional) Import a fixed number of rows of data.

    Perform the following actions:

      1. Right-click the ADDM input step, and select Edit Step.
      2. In the Text file input window, click the Content tab.
      3. In the Limit field, enter the number of rows that you want to import.
        Enter one additional row value, because one less row is fetched. For example, to fetch 100 rows, enter 101.
      4. Click OK.
    c.Provide your Salesforce organization access details. Perform the following actions:
      1. Double-click the the Upsert into class <CI type name> step.
      2. In the Salesforce Upsert window, enter your Salesforce organization user name and password.
      3. (Optional) To verify the connection, click Test connection and then click OK.
      4. To save your changes and close the window, click OK.
      5. Double-click the Salesforce Input[CMDB_Class] step and in the Salesforce Input window, repeat step 7c-ii to step 7c-iv.

    Note: BMC recommends that you do not change the default API version in the Salesforce Webservice URL.

    d.(Optional) Update the predefined mapping between the BMC Discovery fields and BMC Remedyforce CMDB.Perform the following actions:
      1. Double-click the Upsert into class <CI type name> step.
      2. In the Salesforce Upsert window, click Edit Mapping.
      3. In the Enter Mapping window, update mappings for fields based on your requirements.
        For information about updating the out-of-the-box mapping, see Field mapping in CMDB 2.0.
      4. To save your settings and close the Enter Mapping window, click OK.
      5. To save your changes and close the Salesforce Upsert window, click OK.
    e.

    (For the Pentaho package that imports CIs and relationships into CMDB 2.0 only) Provide your Salesforce organization access details.

    Note: You must perform this action for all jobs in the Pentaho package, other than the job to import Computer System CIs (TransferADDM(CS)InfotoCMDB.kjb).

    Perform the following actions:
      1. Double-click one of the following steps:
        • Salesforce Input [BaseRelationship]
        • Salesforce Input [BaseElement]
        • Upsert into BaseRelationship
      2. In the window that opens, enter your Salesforce organization user name and password.
      3. (Optional) To verify the connection, click Test connection and then click OK.
      4. To save your changes and close the window, click OK.
      5. Repeat step 7e-i to step 7e-iv for the other steps listed in step 7e-i.

    Note: BMC recommends that you do not change the default API version in the Salesforce Webservice URL.

    Important

    If you have enabled the setting to access your Salesforce organization from limited IP addresses, you must append the security token to your Salesforce organization password.

    For example, if the password for your Salesforce organization is mypassword and your security token is XXXXXXXXX, specify mypasswordXXXXXXXXX in the Password fields.

  8. To save the KTR and KJB files, click Save.

  9. Close the Pentaho Data Integration tool.
  10. From the folder of the CI type for which you are importing data, double-click the .bat file provided in the folder.
    For example, if you are importing data for Computer System, open the SchedulingComputerSystem.bat file.

    Important

    You must use the .bat file to avoid any errors while importing.


User scenario for importing data from BMC Discovery


David is a member of the Infrastructure team for Downtown Bank, responsible for managing the laptops for ABC project. He signs up for BMC Remedyforce and expects to use the preconfigured, ITIL based incident and problem management processes for managing CIs. Also, David wants to use the CMDB to represent the physical, logical, and conceptual items and to track the relationships between the different CIs.

Charlotte, a BMC Remedyforce administrator, helps David to import details about ABC team member laptops from BMC Discovery to BMC Remedyforce CMDB. Charlotte imports the laptop data into BMC Remedyforce CMDB by running multiple jobs from the Pentaho package in the following sequence:

  1. To import the operating system, processor, IP EndPoint, and LAN Endpoint data, Charlotte navigates to the CombinedJobs folder and runs the TransferAdvancedADDMinfotoCMDB.bat file.
    After running the job, she opens the Operating System, Processor, IP EndPoint, and LAN Endpoint classes in the Instance Editor and verifies that the entries are correct on the Relationships tab.
  2. To import the laptop OS details, Charlotte navigates to the ComputerSystem folder and runs the SchedulingComputerSystem.bat file. Next, Charlotte navigates to the OperatingSystem folder and runs the SchedulingOperatingSystem.bat file. 
    After running the jobs, she opens the Operating System class in the Instance Editor and verifies that the entries are correct on the Relationships tab.
  3. To import the laptop software-server details, Charlotte navigates to the CombinedJobs folder and runs the TransferComputerSystemAndSoftwareADDMinfotoCMDB.bat file.
    After running the job, she opens the Software Server class in the Instance Editor and verifies that the entries are correct on the Relationships tab.

KJB and KTR files for importing data from BMC Discovery


The Pentaho packages contain job (KJB) and transformation (KTR) files that are created in the Pentaho Data Integration tool. The KJB files (jobs) and KTR files (transformations) store metadata in XML format. A KJB file contains a series of transformations that are run in a sequence. A KTR file contains a single transformation. The KJB (job) files retrieve data from external sources into BMC Remedyforce CMDB.

For information about the KJB and KTR files in the Pentaho packages for BMC Discovery, see KJB files in the Pentaho packages and KTR files in the Pentaho packages.

KJB files in the Pentaho packages

Each Pentaho package includes different KJB (job) files for importing different types of configuration items (CIs), such as computer systems and LAN endpoints. These job files are bundled with related files and provided to you in folders. The folder names correspond to CI types in BMC Remedyforce CMDB.

The following table provides information about the job files that you must run to import specific CI types into BMC Remedyforce CMDB:

Folder name (CI type)Job fileJob description
ComputerSystemTransferADDM(CS)Infoto
CMDB.kjb
Transfers information about the BMC_ComputerSystem CI type
OperatingSystemTransferADDM(OS)Infoto
CMDB.kjb
Transfers information about the BMC_OperatingSystem CI type
ProcessorTransferADDM(CPU)Infoto
CMDB.kjb
Transfers information about the BMC_Processor CI type
IPEndpointTransferADDMIPEndpoint
InfotoCMDB.kjb
Transfers information about the BMC_IPEndPoint CI type (both IPv4 and IPv6)
LANEndpointTransferADDMLANEndpoint
InfotoCMDB.kjb
Transfers information about the BMC_LANEndpoint CI type
SoftwareServerTransferADDMSoftwareServer
InfotoCMDB.kjb

Transfers information about the BMC_SoftwareServer CI type.

Note: Depending on the organization size, running the Software Server job transfers large amounts of data to the Salesforce organization, which might lead to the organization storage limit being exceeded.

CombinedJobs
  • TransferAdvancedADDMinfoto
    CMDB.bat
  • TransferComputerSystemAnd
    SoftwareADDMinfotoCMDB.bat
  • TransferAdvancedADDMinfotoCMDB.bat
    This file transfers information related to the BMC_ComputerSystem, BMC_OperatingSystem, BMC_Processor, BMC_IPEndPoint, and BMC_LANEndpoint CI types.
  • TransferComputerSystemAndSoftware
    ADDMinfotoCMDB.bat

    This file transfers information related to the BMC_ComputerSystem and BMC_SoftwareServer CI types.

KTR files in the Pentaho packages

All job (KJB) files for importing data from specific CI types contain a series of transformations that are run in a sequence. Each transformation maps to a KTR file that is available, along with the KJB file, in the folder for each CI type.

The following table provides information about the KTR files and the corresponding transformations that the KJB file for each CI type contains:

KTR fileTransformation in the KJB file

Description

NoneCheck if Delta timestamp File exists

The Pentaho package utilizes a time stamp file to determine which records were added or modified since the last time the job was run.

This step is used for incremental import. If a time stamp file does not exist, the Create the initial timestamp file step is run; otherwise, the Transformation step is run.

CreateInitialTimeStamped
FileForADDM<CIType>.ktr

Create the initial Timestamp file

Records the time of import. This transformation runs only if you are importing for the first time or you have deleted the existing time stamp file.
GenerateCsvApiFile.ktrTransformation

Reads the saved time stamp and accepts the credentials for the BMC Discovery server. This step creates a query to fetch data for the corresponding CI type from BMC Discovery and saves that data in a file.

TransferADDM<CIType>
InfoToCMDB.ktr
Update BE Table With ADDM <CI type name> InformationTransfers data from BMC Discovery to the Base Element object of BMC Remedyforce CMDB 2.0.
StoreADDM<CIType>Time
stamp.ktr

Store the current timestamp

If the data import is successful, the time of import is saved.

For example, the ComputerSystem folder contains the CreateInitialTimeStampedFileForADDM(CS).ktr, TransferADDM(CS)InfoToCMDB.ktr, and StoreADDM(CS)Timestamp.ktr files.

The following table provides information about the steps that are included in the TransferADDM<CIType>InfoToCMDB.ktr file (Update BE Table With ADDM <CI type name> Information transformation). The Pentaho package runs these steps to transfer data from BMC Discovery into BMC Remedyforce CMDB. You can view these steps only when you open the KTR file in the Pentaho Data Integration tool.

Step

Description

ADDM input

Uses the file that is created in the Transformation step (GenerateCsvApiFile.ktr) to list the BMC Discovery fields that are queried.

Transform ADDM variables

Facilitates JavaScript transformations such as appending or trimming fields.

Salesforce Input[CMDB_Class] Fetches details of the BMC Remedyforce CMDB class from your Salesforce organization and accepts the credentials for the Salesforce organization.

Get Class Name

Changes the BMC Remedyforce CMDB class name into uppercase characters to compare it with the class name that is fetched from BMC Discovery.
Get CMDB Class Id

Maps data imported from BMC Discovery to the appropriate CI class in BMC Remedyforce CMDB.
SortSorts the records that are imported from BMC Discovery.
Unique rowsChecks that imported records are unique so that duplicate records are not created in BMC Remedyforce CMDB  

Upsert into class <CI type name>

Stores the imported data into the specified CI class and accepts the credentials for the Salesforce organization in which you want to save the imported data.

Success rows

Stores the rows that are imported successfully.

Failure rows

Stores the rows that are not imported along with error code, error descriptions, and error fields.

The following steps in this transformation are available only in the Pentaho package to import CIs and relationships into CMDB 2.0. Also, these steps are available in all jobs in the package, other than the job to import Computer System CIs (TransferADDM(CS)InfotoCMDB.kjb).

Salesforce Input [Base Relationship]Fetches details of the Base Relationship class in BMC Remedyforce CMDB from your Salesforce organization and accepts the credentials for the Salesforce organization.
Stream lookup for <CI type name>Checks if the Base Relationship class stores any relationships with the specified CI type as the destination.
Salesforce Input [BaseElement]Fetches details of the Base Element class in BMC Remedyforce CMDB from your Salesforce organization and accepts the credentials for the Salesforce organization.
Stream lookup for ComputerSystemIdentifies the computer system CIs that are the source of the relationships with the specified CI type.   
Filter rowsIdentifies and filters relationships that already exist in BMC Remedyforce CMDB so that duplicate relationships are not created.
Duplicate BaseRelationshipRecords the relationships that already exist in BMC Remedyforce CMDB.

Upsert into Base Relationships

Stores the relationship records in the BMC_BaseRelationship class and accepts the credentials for the Salesforce organization in which you want to store the relationship records that are imported.

This step also sets the HasImpact field value of all relationship records imported in the BMC_BaseRelationship class to Yes.

Base Relationship Upsert Failure RowsStores the rows that are not imported, error code, error descriptions, and error fields.
Base Relationship Upsert Success Rows

Stores the rows that are imported successfully.


Related topics

Applying models while importing CIs and assets

Scheduling jobs to import data

Troubleshooting common issues when importing data

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

Comments