Uploading your config data

  • Release version: Xanadu
  • Updated August 1, 2024
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Uploading your config data

    This guide explains how to upload existing configuration data into the Configuration Data Model (CDM) application structure within ServiceNow, enabling you to manage application service data effectively in the CMDB. It begins with creating a new CDM application, modeling the data structure, and proceeds to uploading the config data through REST APIs or the config data editor.

    Show full answer Show less

    Important: Starting with the Washington DC release, DevOps Config is being deprecated and hidden on new instances, though support continues. This impacts how config data management evolves in future releases.

    Process for Uploading Config Data

    • Create a new CDM application (e.g., Bookstore) representing your application service or infrastructure.
    • Generate a changeset within the application to define the data structure by adding nodes such as components, collections, deployables, and configuration data items (CDIs).
    • Use REST Explorer or the config data editor to upload source configuration data (e.g., JSON format) into the CDM data tables without committing the changeset initially.
    • Set parameters including application name, data structure path, and source data format for the upload process.
    • Upon sending the REST POST request, the system uploads and aligns the data alphabetically within the structure for easy navigation.
    • Each POST request also generates an upload script in your chosen scripting language, allowing automation of future uploads through your pipeline system.

    Limits and Configuration

    • An application can contain up to 100,000 CDIs, while a single deployable can have a maximum of 10,000 CDIs.
    • These limits are configurable via system properties sncdm.maxallowedcdiperapplication and sncdm.maxallowedcdiperdeployable.
    • When uploading XML files with ignoreAttributes set to false, attributes are retained in JSON using identifiers for accuracy.

    Post-Upload Management

    • Review and update the config data within the CDM application.
    • Commit the changeset when the structure fully represents your configuration data; this creates snapshots of deployables and stores data in CDM tables.
    • Manage data by updating configurations, applying validation policies, and exporting snapshots.
    • Exported snapshots can generate API invocation code to automate the export process.

    Additional Information

    For further details on preparing applications and parsing various file formats, refer to related concepts such as preparing an application for config data upload, and parsing XML or CSV files in CDM.

    You first create a new CDM application structure and then upload the existing config data into the structure.

    Important:
    Starting with the Washington DC release, DevOps Config is being prepared for future deprecation. It will be hidden and no longer installed on new instances but will continue to be supported. For details, see the Deprecation Process [KB0867184] article in the Now Support Knowledge Base.

    How it works: Performing the initial upload of your existing config data into CDM data tables

    Uploading config data into a new CDM application

    1. Open the CDM user interface and create a new application. For example, let's create the Bookstore application to support an online bookstore. An application in CDM is the full collection of config data for an application service, application model, or dynamic CI group [infrastructure] in the CMDB.

      Create a CDM application

    2. Now open the Bookstore application and generate a new changeset so you can begin to put the data structure in place. (A more detailed overview of this process appears in Preparing an application for config data upload.)

      Create a changeset

      In the changeset, define the data structure that includes a node for each set of config data that you will upload. This process is called modeling the data. You add components, collections, deployables, and CDIs as needed. For information on each of these items, see CDM data model. For additional information on adding nodes to an application, see Preparing an application for config data upload.

      In this example, two components and two collections have been added. Now, the PaymentSvc-1.0 component is included in the Release-1.0 collection. As with all collections, this means that any data in the PaymentSvc-1.0 component is now included in the Release-1.0 collection.

      Create a changeset

      When you are satisfied with the structure (you can update at any time), you open the REST Explorer to begin the process of uploading the source config data into the CDM data tables. Do not commit the changeset — it remains open so you can upload data.

    3. Using the REST APIs or the config data editor, set parameter values that specify the name of the application to upload to, the path within the CDM application data structure to place the data, the format of the source data (JSON in the example), and so on.
      Note:
      When you upload your existing config from an XML file and the ignoreAttributes is set to false, the CDM XML Parser retains the attributes in JSON using identifiers. For more information, see Parsing of XML files in CDM.

      This example shows the REST API Explorer platform utility for clarity. This is an example of how you might construct an Upload to components REST POST request that creates a dbProperties.json node in the PaymentSvc-1.0 component and then adds the source data to the new node. (You specify the source data to upload in another field.) The APIs are described in CdmApplicationsApi, CdmChangesetsApi, and CdmSnapshotApi.

      REST API Explorer form.

    4. When you select Send, the API reads the original config data, uploads it and aligns it into the CDM data structure.
      Note:
      Uploaded data items are sorted alphabetically within the structural folders to enable you to locate particular items quickly.
      The system places the following limits on the count of config data items (CDIs):
      • An application can contain a maximum total of 100,000 CDIs.
      • Any single deployable can contain a maximum of 10,000 CDIs.
      See CDM system properties for information on configuring the sn_cdm.max_allowed_cdi_per_application and sn_cdm.max_allowed_cdi_per_deployable property settings.
      Important:
      Each time you submit a POST request, the API performs the POST and also generates an upload script. You can specify one of several script languages. The purpose is for you to use the code in your pipeline system to automate the upload process for this application in future uploads.
    5. Back to CDM: Review and update the config data as described in Preparing an application for config data upload.
    6. When you are satisfied that the application is a full and correct representation of the config data, you can commit the changeset. The commit action generates a snapshot of each deployable and causes the API to store the data in CDM tables.

      Now that the application is fully in place, you can manage the data as needed: Update config settings, apply policies to validate the data, export valid snapshots of config data, and so on.

      While you export any snapshot, the system can generate API code that you can use to automate the export process. See Generate API invocation code for an exporter for details.