Error: Invalid spaceKey on retrieving a related space config.

Integrating Remedyforce with BMC Discovery


BMC Discovery, earlier known as ADDM, automates data center asset discovery and application dependency mapping to provide a holistic view of all your data center assets, multi-cloud services, and their relationships.

With the enhanced integration between Remedyforce and BMC Discovery, devices, components, services and relationships that are discovered in BMC Discovery can be automatically imported into and synchronized with Remedyforce CMDB. This integration no longer requires Pentaho. The configuration is done within the solutions and the data mappings and transfers are achieved with APIs. 

For more information about the enhanced integration, refer the following topics:

Prerequisites 

To use this feature, you must have the following minimum versions of Remedyforce and BMC Discovery: 

  • Remedyforce 20.18.01
  • BMC Discovery 11.3 

 How does the integration work 

This feature is based on API consumption. BMC Discovery uses multiple REST API calls to your Salesforce organization to retrieve and push data. Each Salesforce organization has a 24 hour limit of API calls that it can make. Therefore, BMC advises to schedule the data sync at such a time when the API consumption by the Discovery integration does not affect other API consuming functionalities. For information about the limits that you have based on your license, see  Salesforce Help

The following diagram provides the integration architecture.

Connection security 

A secure connection is required from a Salesforce.com application to an external application. To establish a secure connection, you need to create a Connected App. A Connected App can connect to Salesforce.com over Identity and Data APIs. Connected App uses the standard OAuth 2.0 protocol to authenticate, provide Single Sign-On, and acquire access tokens for use with Salesforce APIs. For more information about creating a Connected App, see Creating a Connected App in Remedyforce.

Advantages of Enhanced Integration 

The Enhanced Integration feature provides the following advantages:

  • Prior to the Remedyforce Winter 18 release, only 6 out of 28 classes were imported. To import any additional classes, Pentaho jobs and mappings had to be created, that is, customization was required. With the Enhanced Integration feature, all 28 classes can be imported without any required customization.
  • Provides a more complete view of one’s datacenter that empowers Remedyforce users across a range of roles to make more informed decisions across all Service Management processes. Following are some examples:
    • Change Management – By providing a more complete view of the datacenter, the Change Manager will be able to perform more comprehensive change impact analysis.
    • Incident Management – The Remedyforce Agent can field a ticket, identify the server and link it to the ticket enabling the team performing the analysis to have more details on that server to better handle the incident ultimately reducing MTTR (mean time to recovery) with accurate data for root cause analysis. The solution can also help prioritize and route tickets based upon an applications business impact.
    • Configuration Management – Many organizations define standard configurations to reduce complexity and management, while also mitigating risk. With a more complete view of one’s datacenter, the Configuration Manager can verify and identify devices not in compliance. This also benefits the Security Team.
    • Asset Management – The Remedyforce Asset Manager can see all servers in use in the datacenter to help determine availability.
    • Software Asset Management – With a catalog focused on datacenter software, the integration can classify, normalize, and import datacenter applications to help the Software Asset Manager understand what exists in their datacenter.
    • Security – The solution supports a range of security activities including documenting inventory for compliance requirements, identifying servers that could be back door entry points and understanding the business impact of a threat and which assets may be affected.
  • Simplified setup and management, moving from customization to configuration by providing new configuration pages and access to logging. Administrators no longer need to write or modify code.

Considerations 

  • The synchronization will override the mapped fields.
  • The non-mapped fields are not overridden.
  • BMC recommends that you use the Enhanced Integration feature on your sandbox first because the existing data is modified. Therefore, before using the feature on production environment, ensure that your data is consistent in the sandbox environment.
  • Mapped fields should be included in the fieldsets of the respective classes.
  • Ensure that API names of custom fields that you create are not same as any Remedyforce custom fields.


If you were using the Pentaho  packages earlier and now moving to this new integration, then you must understand the following requirements:

  • Ensure that the records that you imported using the Pentaho packages have source field in Base Element object set to BMC Discovery, otherwise, BMC Discovery will not consider those records while syncing and it results in duplicate records.
  • Instances in Remedyforce CMDB where source is not BMC Discovery are not impacted by the import.
  • The final records in Remedyforce CMDB will be the same as the shadow copy in BMC Discovery. For more information about the shadow copy, see  CMDB synchronization .
  • Once resync happens when you use the Enhanced Integration feature, the unique CI source is updated and you cannot switch back to Pentaho packages. For more information about resynching, see Resynchronizing a CMDB connection .

Setting up the integration 

To use the feature, you need to perform the following tasks:

  1. Create a connected application in Remedyforce and obtain the following values from the connected application:
    • Consumer key 
    • Consumer secret
  2. Ensure that the user whose credentials will be used to set up the CMDB synchronization connection has at minimum the following permissions:
    • Access to the BMCServiceDesk.CMDBAPI Apex class.

    • Access to the Connected app.

    • Read and write permissions on the Base Element and Base Relationship objects.

    • Read and edit access on all the fields of Base Element and Base Relationship objects.

    • Read permission on the CMDB Class object. 

  3. Set up a CMDB synchronization connection in BMC Discovery.

Creating a Connected App in Remedyforce 

  1. Go to Remedyforce > Setup.
  2. In the Search box type Apps.
  3. Based on whether you are on Salesforce Classic or Salesforce Lightning, perform the following action.
    • For Salesforce Classic, from the search result, click Build > Create > Apps > Connected Apps > New.
    • For Salesforce Lightning, from the search result, click Apps > App Manager > New Connected App.
  4. On the New Connected App page, enter the required values. For more information, see Connected App parameters.
  5. Click Save.
  6. Click Continue.
    You will be redirected to your Connected App page.

  7. Note your consumer key in the Consumer Key field.

  8. Note your consumer secret in the Consumer Secret field by clicking Click to reveal.

Connected App param eters  

The following table lists the fields that you need to configure for creating the Connected App. For more information about the fields, see  Salesforce Help

FieldDescription
Basic Information
Connected App NameThe name of the connected application. You can provide a descriptive name that helps in identifying the application to which Remedyforce will connect, for example, BMC Discovery.
API NameThis field is automatically filled with the value you entered in the Connected App Name field.
Contact EmailThe contact email for Salesforce to use when contacting you or your support team for application related issues.
API (Enable OAuth Settings)
Enable OAuth SettingsSelect this check box to enable and configure authentication settings.
Enable for Device Flow

Select this check box.

Note: The Callback URL field is a required field for creating a Connected App and is used by some modes of OAuth authentication. BMC Discovery integration uses User-Password OAuth authentication and does not require this field. As the Callback URL field is mandatory, you must select this check box that auto-populates the Callback URL field with a value provided by Salesforce.

Callback URL

The agent URL of your device that Salesforce uses to call back to your application during OAuth. It’s the OAuth redirect URI.

This field is auto-populated when you select the Enable for Device Flow check box.

Selected OAuth Scopes

The scopes are the permissions that the user gives to the connected app while it’s running.

Select Access and manage your data (api) from the Available OAuth Scopes box and click Add to move the value to the Selected OAuth Scopes box. This option allows access to the logged-in user’s account using APIs, such as REST API and Bulk API. This value also includes chatter api, which allows access to Chatter REST API resources.

Setting user permissions for a Connected App 

You can manage a Connected App to set permissions such as session level policy or IP Relaxation policy to determine whether a user’s access to the app is restricted by IP ranges. For more information about the policies that you can configure, see  Salesforce Help . Perform the following following steps to manage the Connected App.

  1. Go to Remedyforce > Setup.
  2. In the Search box type Apps.
  3. Based on whether you are on Salesforce Classic or Salesforce Lightning, perform the following action.
    • For Salesforce Classic, from the search result, click Build > Create > Apps > Connected Apps.
    • For Salesforce Lightning, from the search result, click Apps > App Manager.
  4. Based on whether you are on Salesforce Classic or Salesforce Lightning, perform the following action.
    • For Salesforce Classic, click Manage next to the Connected App that you want to manage.
    • For Salesforce Lightning, click Manage in the the drop down of the Connected App that you want to manage.
  5. On the Connected App Detail page, click Edit Policies.
  6. Under the OAuth policies section, select the permissions that you want to provide by clicking the Permitted Users field.
  7. In the IP Relaxation field, select the IP restrictions that you want to enforce. The default value for this field is Enforce IP restrictions, which limits this app to a specified range. Change the value to Relax IP restrictions or ensure that the IP range restrictions are valid. For more information about IP restrictions, see  Salesforce Help
  8. Click Save

Setting up a CMDB synchronization connection in BMC Discovery 

Before you begin

  • Ensure that you have obtained the consumer key and consumer secret values from your Connected App as documented in the section Creating a Connected App in Remedyforce . You will need to enter these values in the Consumer Key and Consumer Secret fields respectively when you are setting up a CMDB synchronization connection.
  • Ensure that the Reconciliation feature is enabled to avoid duplicate records.
  • If you are migrating from the old to the new integration, ensure that you have referred the considerations.

To set up the CMDB synchronization connection

  1. Log in to BMC Discovery.
  2. From the main menu, click the Administration icon.
    The Administration page displays.
  3. From the Model  section, click  CMDB Sync
    If no CMDB Sync has been configured, a banner displays stating that the no CMDB Sync connections are configured
  4. Click Add CMDB Connection  to add and configure a new connection
  5. Enter the required details on the Add CMDB Connection page. For more information about the connection details, see Connection details.
  6. Click Test Connection to verify that the new connection can be reached and the credentials are valid. Testing the connection also retrieves the list of companies from the CMDB for connections other than Remedyforce.

The following image shows a successful connection.

Connection details 

Enter the following details on the Add CMDB Connection page.

Connection name

FieldDescription
NameThe name of the CMDB Sync connection
Access Mechanism

The access mechanism to use to connect to the CMDB:

  • CMDB API - The CMDB REST API access mechanism is preferred as it uses a more secure encryption protocol.

  • Remedy CMDB (REST API) – Requires CMDB 9.1 SP3 and later.
  • Remedyforce

Select the mechanism to use for the connection. The UI refreshes to provide the correct options for the access mechanism that you selected. 

Username

The user name of the CMDB user that is at least a member of a group having the CMDB Data Change All role. If in doubt, create a dedicated discovery user with the same profile as the standard CMDB Demo user.

At minimum, the CMDB Demo user permissions are required for multitenancy to work.

A user is not permitted to connect to the CMDB from a second IP address within 4 hours of their last activity at the first IP address. For a failover scenario, you could also create a second discovery user to connect from the failover appliance.

(info) The Multitenancy option is not available when synchronizing to Remedyforce CMDBs.

Password

The password of the CMDB user (or blank if the user has no password)


Options for Remedyforce

FieldDescription
Production Environment Select the check box if you are synchronizing to a Remedyforce production environment. For production environments, the system uses https://login.salesforce.com for the connection and security verification. This is the default. Deselect the check box if you are synchronizing to a test environment. For test environments, the system uses https://test.salesforce.com for the connection and security verification.
Consumer Key

Enter the consumer key that you obtained from the Connected App. For more information about obtaining the consumer key, see Integrating Remedyforce with BMC Discovery.

Consumer Secret Enter the consumer secret that you obtained from the Connected App. For more information about obtaining the consumer secret, see Integrating Remedyforce with BMC Discovery .
The following are optional if Remedyforce is accessed through a proxy.
HTTP Proxy AddressIP address or DNS address of the proxy. Note that because the Salesforce login URLs are HTTPS, the proxy is always contacted with HTTPS.
HTTP Proxy PortProxy port to use.
HTTP Proxy UsernameFor authenticating proxies, the proxy user name.
HTTP Proxy PasswordFor authenticating proxies, the proxy password.

Common options

FieldDescription
Continuous Sync

Select the check box to enable continuous sync for this CMDB connection.

During continuous CMDB synchronization, whenever BMC Discovery finishes scanning a device, it is added to the synchronization queue. Similarly, whenever a device node is removed due to aging, it is also queued for synchronization, meaning that the deletion is propagated into the CMDB. In this way, the CMDB stays completely synchronized with BMC Discovery.

Batch Size

Enables you to configure the batch size used for batch operations. If you experience timeouts during a batched operation, most likely during a resync, these may be prevented by setting it to a lower value. You can set the batch size to anything between 1 and 1000. The default is 100.

Concurrent Workers

Enables you to specify the number of workers used by the CMDB sync process. You can set the number of workers from 1 to 20. The default is 1.

The best practice is to start from the default and gradually increase the number up to when sync rate keeps up with discovery rate.

Dataset ID

The ID of the dataset used for Discovery data. The default is BMC.ADDM.
(info)The Dataset ID option is not available for connections to Remedyforce.

Data Model

The data model for your CMDB. Different versions of the CMDB have different data models, so the data from BMC Discovery must be transformed differently according to the CMDB version.
The preferred value for Data Model is Standard impact population

Select the correct data model from the menu. If you select an incorrect value, you might encounter errors during synchronization.

Data model valueEffect

Standard impact population

HasImpact and ImpactDirection attributes are set as appropriate.

No impact detailsNo impact details are set by BMC Discovery. They may be set by Impact Normalization in the CMDB for connections other than Remedyforce.

Multitenancy

Multitenancy support. Selecting this check box enables you to choose a default company name from the drop-down list to assign to a discovery run during an initial scan. The list of companies is not populated until one connection has been successfully tested, or you click Get Companies (which also tests the connection).

This section is always displayed. However, if another connection exists, instead of the multitenancy configuration options, a message stating Configure multitenancy from the overview page is displayed along with a link to the CMDB Sync page.

(info) The Multitenancy option is not available when synchronizing to Remedyforce CMDBs.


Managing the synchronization connection 

To manageDescriptionReference for more information
FilteringYou might not require all the data that is discovered by BMC Discovery. To reduce the amount of data that is synced, you can use the filtering option.

Filtering nodes and CI types for CMDB Sync

Blackout WindowsSynchronization can usually occur at any time. To prevent synchronization during sensitive times, you can configure blackout window during which time all processing of the synchronization queue for a connection is paused.

Configuring CMDB Sync blackout windows

Resync

Occasionally the model stored in the CMDB dataset becomes out of step with the shadow copy for a CMDB connection and require 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. For more information about shadow copy, see CMDB synchronization .

When BMC Discovery registers these instance errors, it attempts to correct the situation automatically, but if the errors keep occurring, a resynchronization is recommended.

Resynchronizing a CMDB connection

Support for custom class 

If you have created a custom class or a custom relationship, you can create a mapping by adding Patterns for a custom class support. To create Patterns, the Pattern Language, TPL, is used to describe applications, products and other real-world entities that have been modeled in BMC Discovery. For more information about the language and how to add Patterns, see  The Pattern Language TPL .

You also need to set the following properties in the SysProperties object to support custom classes and relationships. After you have made the required changes, check the entire value in an online JSON parser for validation.  

PropertyDescriptionSample
BMCDiscoveryPicklistMapMaps the picklists.

,"Custom_Picklist__c":{

        "Option 3":2,

        "Option 2":1,

        "Option 1":0

    }

BMCDiscoveryRelationshipMapMaps the relationship types.

,"Custom_Relationship_Type":"Custom Relationship Type"

 Where,

  • Custom_Relationship_Type is defined in the TPL file.
  • Custom Relationship Type is the new option that is added in the Relationship Type picklist field in the Base Relationship object.

BMCDiscoveryFieldsMap

Maps the custom fields.

,"Custom_Field__c":"CustomField"

,"Custom_Field__c":"Custom_Field"

 Where,

CustomField and Custom_Field are the fields that are mapped in the TPL file.

Best practices 

  • It is recommended to use a batch size of 100.
  • Schedule the synchronization during weekend nights so as not to consume API request during the business days.
  • When the Reconciliation feature is enabled, make the batch size as 20 as reconciliation works with a batch limit of 20 records.
  • For integration, create a user with restricted permissions only on CMDB and Base Element objects so that the connected app should not be used to modify records of other objects.
  • If you already have records from BMC Discovery, then use the Resync option in the first instance, else use the Continuous Sync option.

Reference topics

CMDB synchronization

CDM Mapping for Host

Troubleshooting issues when integrating with BMC Discovery


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

Comments