ServiceNow Configuration Management Database (CMDB) SyncPack Release Notes, version 3.5.0

The "ServiceNow CMDB SyncPack" version 3.5.0 includes major improvements to Device Sync, File System Sync, Interface sync, and CI Attribute Sync, and it also addresses multiple issues and support defects. This version also includes support for multiple SL1 instances for device discovery and device sync with ServiceNow.

This SyncPack is available as part of an SL1 Standard solution. To upgrade, contact ScienceLogic Customer Support. For more information, see https://sciencelogic.com/pricing.

This SyncPack requires the ServiceNow Base SyncPack version 3.5.0 or later and the Base Steps SyncPack version 1.5.0 or later. You can download these SyncPacks from the ScienceLogic Support Site.

Features Included in this Release

This section covers the features that were included in this version of the ServiceNow CMDB SyncPack.

Device Sync

  • Added support for multiple SL1 instances for device discovery and device sync with ServiceNow.

  • Sending information to the ServiceNow IRE will now utilize the ServiceNow /api/now/v1/batch endpoint. This change affects Device Sync, Business Service Sync, File System Sync, and Interface Sync. This update also adds the "Pull and Process Advanced Topology from SL1" step to Device Sync and Interface Sync.

  • The Configuration pane for the "Sync Devices from SL1 to ServiceNow" application now includes the following fields:

    • snow_request_limit. Specify the number of CI objects fetched from ServiceNow in each request. The default is 500 objects per chunk.
    • snow_batch_size. Specify the total number of CI objects being sent to ServiceNow in each triggered application. The default is 150 objects per batch.
    • snow_chunk_size. Specify the number of CI objects to send in each chunk or in each sub-payload with a batch (specifed in the snow_batch_size field). The default is 150 objects per chunk or sub-payload.
  • Added the company_mapping_override section to the Configuration pane for the "Sync Devices from SL1 to ServiceNow" application. In this section, you can create a new mapping for the ServiceNow "company" field for ServiceNow CIs (the first field on the left in the user interface). You can override the "company" field with a different ServiceNow field where you can read and write the company_sys_id field for CIs.

    This field was also added to the following PowerFlow applications:

    • Sync Business Services from ServiceNow to SL1
    • Sync Business Services from SL1 to ServiceNow
    • Sync CI Attributes from ServiceNow to SL1
    • Sync File Systems from ServiceNow to SL1
    • Sync Interfaces from ServiceNow to SL1

    You can only use the company_mapping_override section in ServiceNow environments that are not domain-separated, as ServiceNow requires the "company" field to be sent on CIs in domain-separated environments. If you also enabled the Domain_Separation option on the Configuration pane, the Device Sync application will fail with an "InvalidConfiguration" error.

  • Updated Device Sync to handle situations where a parent and a child are the same class, such as a VMware tree where you have a parent and a child, and both devices are VMware Folders. Please note that your systems might have different configurations, so if any issues are found with this feature, please open a support request.

  • Added the "cmdb_ci_wap_network": ["Cisco | Wireless Access Point"] mapping to the mappings section of the Configuration pane for this application.

  • Added the use_ap2_url option to the Configuration pane for the "Sync Devices from SL1 to ServiceNow" application. Select this option if you want the device URLs in the SL1 URL field in ServiceNow CIs to point to the corresponding Device Investigator page in the SL1 user interface: /inventory/devices/<SL1_device_ID>/investigator. By default this option is enabled. If you disable this option, the device URL points to the classic EM7 user interface: /em7/index.em7?exec=device_summary&did=<SL1_device_ID>.

  • If the drop_company option is enabled and the configuration object is valid on the Configuration pane for the "Sync Devices from SL1 to ServiceNow" application, the ServiceNow company sys_id for the CI and the SL1 organization crm_id for the SL1 device will not be compared when determining if an update has occurred. This option also continues its existing behavior of stopping the company field from being sent to ServiceNow. :

  • Updated the "ScienceLogic SL1: CMDB & Incident Automation" certified application with improvements to the PowerFlow API.

  • The "ScienceLogic SL1: CMDB & Incident Automation" certified application also includes updates to the ServiceNow Identification & Reconciliation Engine (IRE). As a result, the latest "ScienceLogic Domain Separation (Global)" update set is required. You can access this update set from the additional_materials.zip file included in the main .zip file for this SyncPack, which you can find by searching for the ServiceNow CMDB SyncPack page at https://support.sciencelogic.com/s/powerpacks.

Starting with version 3.5.0 of this SyncPack, the "Sync Advanced Topology from SL1 to ServiceNow" application was removed. The functionality in that application was added to the "Sync Devices from SL1 to ServiceNow" and the "Sync Interfaces from SL1 to ServiceNow" applications with the "Pull and Process Advanced Topology from SL1" step.

Business Service Sync

  • Added the following fields to the Configuration pane of the "Sync Business Services from SL1 to ServiceNow" application:
  • snow_request_limit. Specify the number of CI objects fetched from ServiceNow in each request. The default is 500 objects per chunk.
  • snow_batch_size. Specify the total number of CI objects being sent to ServiceNow in each triggered application. The default is 150 objects per batch.
  • snow_chunk_size. Specify the number of CI objects to send in each chunk or in each sub-payload with a batch (specifed in the snow_batch_size field). The default is 150 objects per chunk or sub-payload.

CI Attribute Sync

  • Updated the "Sync CI Attributes from ServiceNow to SL1" application to use the updates in Base Steps SyncPack version 1.5.0. This update allows a single payload to be a list of payloads. As a result, each triggered application does not make a single post, but each triggered application takes in a payload of up to 500 sub-payloads before another triggered application is created.

  • Updated the "Pull and Process ServiceNow CIs" step in the "Sync CI Attributes from ServiceNow to SL1" application to use the new ServiceNow POST endpoint for gathering CI info. If no mappings are provided in the JSON configuration, the step will only pull CI classes provided in the "Sync Devices from SL1 to ServiceNow" application. If mappings are provided, only CI classes that were included in the user-defined mappings will be returned from ServiceNow.

  • Added the sync_empty_fields parameter, which you can select if you want to include empty fields on ServiceNow CIs when you run the "Sync CI Attributes from ServiceNow to SL1" application. This option is disabled by default. The Include_Orgs option now filters on the ServiceNow CI sync and the SL1 sync.

    SL1 does not return extended custom attributes for devices if no value is present. As a result, if the value for the custom attribute is empty in ServiceNow, PowerFlow will continually send updates for those devices, because the empty value written to SL1 is not returned in subsequent runs of the application. When the sync_empty_fields option is selected, the application sends a 0 or '', depending on the attribute type for the custom attributes in the mappings for all devices.

  • Added the following parameters to the Configuration pane for the "Sync CI Attributes from ServiceNow to SL1" application:
  • retry_max
  • retry_jitter
  • retry_backoff
  • retry_backoff_max

File System Sync

  • Updated the "Sync File Systems from SL1 to ServiceNow" application to support sub-component relationships.

    For a file system to be synced from SL1 to ServiceNow, the class of the file system's parent device must be included in the mappings parameters for the "Sync Devices from SL1 to ServiceNow" application. File systems with parent CIs with className values of "cmdb_ci_ip_switch" or "cmdb_ci_ip_router" will be sent to ServiceNow, but by default they will not be created in ServiceNow due to missing relationship information.

  • Updated the "Sync File Systems from SL1 to ServiceNow" application to pull from the Sources table instead of pulling directly from the CMDB.

  • Updated the "Sync File Systems from SL1 to ServiceNow" application to include the following features:

  • Converted existing ServiceNow and SL1 fetch steps into Pull and Process steps to improve performance at scale.
  • The following new parameters were added to the Configuration pane for this application:
  • include_hidden and include_stale options to allow syncing hidden or stale file systems. This filter is only applied on the SL1 side of the sync.

    Be cautious when applying these options, as enabling one or both options might cause unwanted disconnects if the File System Sync is run with these options enabled and then run with the options disabled.

  • Include_Orgs. If you want to include a specific set of SL1 Organizations in the sync, add the Organization IDs from the SL1 Organizations page () in this field, separated by commas. If this field is enabled, PowerFlow will pull only the Organizations listed in this field; PowerFlow does not pull all Organizations and then drop those not on the list. Leave this field empty to sync all SL1 Organizations. Optional.

  • snow_chunk_size. Specify the number of CI objects to send in each chunk. The default is 500 objects per chunk.

  • snow_request_limit. Specify the number of CI objects fetched from ServiceNow in each request. The default is 500 objects per chunk.

  • snow_batch_size. Specify the total number of CI objects being sent to ServiceNow in each triggered application. The default is 150 objects per batch.

  • discovery_source. Specify the ServiceNow Discovery source. The default value is Other Automated.

  • generate_report. Select this option to create a "Sync Interfaces from SL1 to ServiceNow" report. This report contains counts of the number of file systems gathered from SL1 and ServiceNow, the number of unchanged file systems, and the number of creations, updates, and disconnects sent to ServiceNow. Detailed file system information for the file systems sent to ServiceNow is also displayed. Finally, the report contains file systems that are in an unsupported format. The reports are available on the Reports page of the PowerFlow user interface.

    Due to the differences between how SL1 and ServiceNow discover file systems, only certain formats of file systems contained in the SL1 database will be synced to ServiceNow. Only file systems where the name and the mount point can be determined from the name database field stored in SL1 will be synced.

Interface Sync

  • Updated Incident Sync to allow for more efficient data handling, especially with large numbers of interfaces. Interface Sync also includes more filtering options to let you break up the sync without affecting the ServiceNow data. (Case: 00213364. Jira ID: EM-47558, INT-2881)
  • This version of the Interface Sync requires SL1 version 11.1.3 or 11.2.0 or later.
  • Updated the "Sync Interfaces from SL1 to ServiceNow" application to include the following features:
  • Converted existing ServiceNow and SL1 Fetch steps into Pull and Process steps to improve performance at scale.

    The "cmdb_ci_vcenter_object": ["VMware | Virtual App"] mapping was removed from the default mappings because ServiceNow has not implemented a default dependency that is different from the previous behavior. This removal might lead to orphaned devices being sent to ServiceNow.

  • The "Sync Interfaces from SL1 to ServiceNow" application now pulls from the Sources table instead of pulling directly from the CMDB.
  • The following new parameters were added to the Configuration pane for this application:
  • Include_Orgs. If you want to include a specific set of SL1 Organizations in the interface sync, add the Organization IDs from the SL1 Organizations page () in this field, separated by commas. Leave this field empty to sync all SL1 Organizations. Optional.
  • sl1_chunk_size. Specify the number of interfaces to pull from SL1 in each chunk. The default is 500 objects per chunk.
  • snow_chunk_size. Specify the number of CI objects to send in each chunk. The default is 500 objects per chunk.
  • snow_request_limit. Specify the number of CI objects fetched from ServiceNow in each request. The default is 500 objects per chunk.
  • snow_batch_size. Specify the total number of CI objects being sent to ServiceNow in each triggered application. The default is 150 objects per batch.
  • discovery_source. Specify the ServiceNow Discovery source. The default value is Other Automated.
  • generate_report. Select this option to create a "Sync Interfaces from SL1 to ServiceNow" report. This report contains counts of the number of interfaces gathered from SL1 and ServiceNow, the number of unchanged interfaces, as well as the number of creations, updates, and disconnects sent to ServiceNow. Detailed interface information for the interfaces sent to ServiceNow is also displayed. The reports are available on the Reports page of the PowerFlow user interface.
  • enabled_only. Select this option only sync enabled interfaces. When enabled, this filter is applied to both the SL1 and ServiceNow side pulls.
  • interface_snow_default. Select this option to allow interface types that are not included in the mappings to be sent to the cmdb_ci_network_adapter table in ServiceNow.
  • interface_table_relations. Using JSON, define the relationship for any ServiceNow tables used in the mappings parameter, below. If a table is included in the mappings, but the relationship is not defined in the interface_table_relations, the Interface Sync application will fail.
  • mappings. This section lets you map specific interface types to different tables in ServiceNow. Interfaces with types that are not defined in these mappings will be skipped. If the interface_snow_default option is selected, missing mappings will be sent to the cmdb_ci_network_adapter table.

When gathering interface information from SL1, the combination of device ID and interface ID is not unique. As a result, the Interface Sync will take the last entry when gathering the subnet information. A log will be provided for affected interfaces in debug mode.

Interfaces of type "Other" will not be synced to ServiceNow. Interfaces with parent devices that have a device category of "Unknown" will not be sent to ServiceNow.

Organization Sync

  • Added a new table and API for the "Sync Organizations from SL1 to ServiceNow Companies" application. These updates let multiple SL1 systems support duplicate SL1 Organizations syncing to one ServiceNow Company, particularly for a domain-separated ServiceNow instance.

  • Removed the Domain Separation parameter from the "Sync Organizations from SL1 to ServiceNow Companies" application. Domain separation is still supported, but this parameter no longer needs to be selected for this application.

  • Added a requirement for creating a linking record in a ServiceNow domain-separated environment for Organization Sync. Before running the "Sync Organizations from SL1 to ServiceNow" application for the first time, you will need to create this linking record, which lets you track the relationship of a single organization with a single company in multiple SL1 databases. For more information, see "Syncing Organizations" in the ServiceNow CMDB SyncPack manual. ScienceLogic highly recommends that you try out this feature in test environment before pushing to production.

    If you set up an Organization Sync with a version of this SyncPack earlier than version 3.5.0, you will need to create a linking record when you upgrade to version 3.5.0 or later. The linking record is only required when you upgrade if you use ServiceNow as the source of truth.

Discovery Sync

  • Updated the "Sync Discovery Requirements" PowerFlow application with the following features:
  • Combined the "Pull And Process Collector Groups" and "Pull And Process Collectors" steps into a single step: "Pull And Process Collectors And Collector Groups".
  • Updated the Configuration pane to include sl1_chunk_size and snow_chunk_size, which lets you control the impact of the payload on SL1 and ServiceNow.
  • Specified that collectors that are not in groups will not be processed. If a collector group contains only collectors that are not all-in-one or collector units, that collector group will be skipped.

Additional Features

  • Updated all steps used in the SyncPack to use the new extended REST steps from the Base Steps SyncPack version 1.5.0: "PostREST", "GetREST", and "DeleteREST". These steps are based on the now-deprecated "QueryREST", and any applications that still use "QueryREST" will now generate a warning in the step logs.

  • Removed the dependency on the deprecated device cache and the interface cache for the "Sync Advanced Topology from SL1 to ServiceNow" application.
  • Removed the dependency on the deprecated device cache for the "Sync Device Groups from SL1 to ServiceNow" and the "Sync Business Services from SL1 to ServiceNow" applications.
  • Made the following updates to the "Cache ServiceNow CIs and SL1 Device Classes" PowerFlow application:
  • Updated the application to cache SL1 Organizations and ServiceNow Companies. 
  • Renamed the application "Cache ServiceNow Companies, CIs and SL1 Orgs, Device Classes".
  • Removed the "Pull and Process SL1 Organizations" and "Pull Companies from ServiceNow" steps from the "Sync Devices from SL1 to ServiceNow" application, the "Sync Business Services from SL1 to ServiceNow" application and the "Sync Business Services from ServiceNow to SL1" applications. These three applications now consume this information from the cache generated from the updated "Cache ServiceNow Companies, CIs and SL1 Orgs, Device Classes" application.
  • The "Sync Business Services from SL1 to ServiceNow" application now uses the sources table when posting to ServiceNow.
  • This SyncPack now supports CIs that do not have an IP address but have a hostname instead.

To view release notes and manuals for all versions of the SL1 PowerFlow Platform, see SL1 PowerFlow Platform Documentation. To view release notes and manuals for PowerFlow SyncPacks, see SL1 PowerFlow SyncPack Documentation.

Issues Addressed in this Release

The following issues were addressed in this release:

  • Addressed an issue where ServiceNow CIs were being overwritten by SL1 devices that belonged to different regions. This issue was addressed by the new support for multiple SL1 instances for device discovery and device sync. (Case: 00223285. Jira ID: EM-48410, INT-3957)
  • Addressed an issue where Interface Sync created Switch Ports as Network Adapters instead of Switch Ports. You can add a mapping on the Configuration pane of the "Sync Interfaces from SL1 to ServiceNow" application to map known interface types to the cmdb_ci_network_adapter, dscy_switchport, or dscy_router_interface tables in ServiceNow. However, if the parent device type of the interface in SL1 is Network.Switches or Network.Router, the interface will be sent to dscy_switchport and dscy_router_interface tables, respectively, regardless of the mappings added in the Configuration pane. If an IP address is found on the interface and the parent device is one of these types, an additional interface will also be sent to the cmdb_ci_network_adapter and will contain IFCOPY in the native key. (Case: 00136047. Jira ID: EM-41018)

  • Addressed an issue where duplicate models were being added by Device Sync. (Case: 00255026. Jira ID: INT-4783)

  • Addressed an issue that occurred when syncing multiple VMware trees from SL1 to ServiceNow, and the unique_id field that was mapped by default to the object_id field in ServiceNow was not unique across multiple VMware trees.

Known Issues

This release contains the following known issues:

  • For the "Sync Business Services from SL1 to ServiceNow" application, creating a business service relationship in SL1 where the bottom service is a device service without any devices in it will send the empty device service to ServiceNow. This behavior is different from the "Sync Business Services from ServiceNow to SL1" application, which does not send any service in the tree if the bottom device service is empty.
  • Merging devices in the middle of a component tree could cause relationships in ServiceNow to be incorrect.
  • Due to a change in GraphQL in SL1 version 11.1.0, some PowerFlow applications will fail to sync if you upgrade to that version of SL1. This issue was addressed in SL1 version 11.1.2.
  • An issue exists with syncing VMware resource pools if the resource pool has a direct link to the VMware cluster. In SL1, if you have a VMware resource pool that does not belong to a VMware host, that resource pool will not be synced to ServiceNow. The children devices underneath the resource pool will continue to be synced to ServiceNow.
  • When syncing VMware virtual devices from SL1 to ServiceNow, any virtual apps are synced by default to the VMware object table in ServiceNow, because ServiceNow does not have a virtual app class. To work around this issue, you can either use the default setting to sync to the VMware object table or you can create a custom virtual app class and modify the mappings.
  • In version 3.5.0 of this SyncPack, the "cmdb_ci_vcenter_object": ["VMware | Virtual App"] was removed from the default mappings because ServiceNow has not implemented a default dependency that differs from previous behavior. This change might lead to orphaned devices being sent to ServiceNow.

System Requirements

The "ServiceNow CMDB SyncPack" version 3.5.0 requires:

  • SL1 PowerFlow platform version: 2.1.0 or later.

  • Base Steps SyncPack version: 1.5.0 or later.

  • ServiceNow Base SyncPack version: 3.5.0 or later.

  • The "ScienceLogic SL1: CMDB & Incident Automation" application version: 1.0.76.

  • SL1 version: 10.2.0 or later. For details on upgrading SL1, see the appropriate SL1 Release Notes.

  • ServiceNow version: Quebec or later, with Web Services enabled.

    If your ServiceNow instance is domain-separated, install the latest "ScienceLogic Domain Seperation (Global)" update set in ServiceNow. You can access this update set from the additional_materials.zip file included in the main .zip file for this SyncPack, which you can find by searching for the ServiceNow CMDB SyncPack page at https://support.sciencelogic.com/s/powerpacks. For more information, see ServiceNow CMDB SyncPack manual.

    Due to a change in GraphQL in SL1 version 11.1.x, some PowerFlow applications will fail to sync if you upgrade to that version of SL1. As a workaround, use SL1 version 10.2.0 or earlier. This issue will be addressed in SL1 version 11.2.1.

    Interface Sync requires SL1 version 11.2.0 or later due to a GQL issues that prevented the interface type from being returned correctly.

The following table lists the port access required by PowerFlow for this SyncPack:

Source Port Purpose

SL1 API

443

SL1 API Access

ServiceNow API

443

ServiceNow API Access

SL1 Database

7706

SL1 Database Access

Prerequisites for the SyncPack

To install this SyncPack, you must have administrator access to both SL1 and ServiceNow. Specifically, you will need:

  • ScienceLogic root SSH access

  • ScienceLogic administrator access to the Administration Portal
  • ServiceNow administrator access

ScienceLogic highly recommends that you disable all firewall session-limiting policies. Firewalls will drop HTTPS requests, which results in data loss.

Installing or Upgrading the SyncPack

For detailed steps about installing or upgrading to this version of the "ServiceNow CMDB" SyncPack, see Installing the ServiceNow CMDB SyncPack.