Control-M Automation API Provisioning

Control-M Automation API provides a Provision service for installation and setup of Control-M/Agents, plug-ins, and integration plug-ins.

Provisioning of new Control-M/Agents is based on images, which are json files that list the installation packages in the order that they are installed. Several default images are provided by the API, and you can create additional custom images (for example, for a newer version of the Control-M/Agent).

The following procedures describe the preparatory tasks for enabling provisioning of Agents and plug-ins:

Setting Up a Local Repository for Provision Images and Installation Packages

This procedure describes how to set up an local repository where you can save both images and installation packages for the provisioning process.

This procedure is required for provisioning actions that involve Agents that are registered to self-hosted Control-M/Servers. For Agents that are registered only to a Helix Servers, this procedure is optional.

Begin

  1. Create a repository directory in your file system or in a location accessible via HTTP (for example, in a JFrog Artifactory repository or in Amazon S3 Buckets).

    In this directory, you store the installation packages of Control-M components (such as Control-M/Agent, application plug-ins, integration plug-ins, or even plug-ins developed in Control-M Application Integrator) that you obtain as described in Obtaining Installation Packages for Provisioning.

  2. In the repository directory, create a descriptors directory to contain the JSON images for the provisioning process.

  3. (Optional) In the descriptors directory, create a silent directory to contain XML files for silent installations.

  4. Set up the use of the local repository during provisioning actions using one of the following options:

    • For a specific environment: Run the following environment configure API commands:

      • Set the path to the storage location of installation packages:

        Copy
        ctm environment configure EXT_AUTO_DEPLOY <repo_path>
        Copy
        ctm environment configure EXT_AUTO_DEPLOY file:///home//localProvisionRepo
        ctm environment configure EXT_AUTO_DEPLOY https://s3-us-west-2.amazonaws.com/localProvisionRepo
      • Set the path to the storage location of images:

        Copy
        ctm environment configure EXT_APPLICATION_ARTIFACTS_JSON_URL <repo_path>/descriptors
        Copy
        ctm environment configure EXT_APPLICATION_ARTIFACTS_JSON_URL file:///home//localProvisionRepo/descriptors
        ctm environment configure EXT_APPLICATION_ARTIFACTS_JSON_URL https://s3-us-west-2.amazonaws.com/localProvisionRepo/descriptors
      • (Optional) Enable the use of the local repository for provisioning actions that involve Agents that are registered to Helix Servers (and not just self-hosted Servers):

        Copy
        ctm environment configure EXT_HELIX_REPO true
    • For all environments: Use a provision repository API command to set the path to the storage location of installation packages.

      This option is relevant only for provisioning actions that involve Agents that are registered to self-hosted Servers (not for Agents registered to Helix Servers).

      Copy
      ctm provision repository::add <name> <location> [<description>]
      Copy
      ctm provision repository::add Location1 file:///home//localProvisionRepo "Local repository"

      You can use this API command to define multiple local repositories. To determine the default repository to use in provisioning actions, out of all the defined repositories, you can run the provision repository::set API command. Alternatively, you can specify the repository in each individual provisioning action, using the -r option in the provision image and provision agent::install API commands.

Obtaining Installation Packages for Provisioning

This procedure describes how to obtain the installation packages that are referenced from the provisioning images.

You might need additional installation packages that you reference from your own custom images, as discussed in Creating a Custom Image for Provisioning.

Begin

  1. For each installation package of an Agent that you plan to register to a self-hosted Server or plug-in that you plan to deploy to such an Agent, perform the following steps:

    1. Click https://www.bmc.com/available/edownloads.html and follow the instructions on the EPD site until you reach the Download Files page for the relevant product, version, and platform.

    2. From the Products tab, click the relevant installation package to download it.

    3. Save the installation package in your local repository. See Setting Up a Local Repository for Provision Images and Installation Packages.
  2. For each installation package of an Agent that you plan to register to a Helix Server or plug-in that you plan to deploy to such an Agent, perform the following steps:

    1. Access the Install Agent pane or Install Plug-in pane, as described in Installing a Helix Agent or Installing a Plug-in (respectively).

    2. Download the installation package from the S3 storage location as instructed on the installation pane.

    3. Save the installation package in your local repository. See Setting Up a Local Repository for Provision Images and Installation Packages.

Creating a Custom Image for Provisioning

This procedure describes how to create a custom image by copying and editing one of the provided default images. This procedure is useful, for example, if you want to install a newer version of the Control-M/Agent during provisioning, or if you want to install a new fix pack on top of the base version.

Begin

  1. Navigate to the descriptors directory in your repository.

    If you do not yet have any images in this directory, use the example provided below.

  2. Create a copy of one of the existing images and store it in the descriptors directory in your repository.

    Give your new image file a name according to its objective, followed by .Linux or .Windows, and then the file extension .json.

  3. Using any text editor, open the new image file that you created and edit the list of installation packages within it. Then save the file.

  4. Download any new installation packages that you referenced within your new image and have not yet obtained. Store them in the proper location, as discussed in Obtaining Installation Packages for Provisioning.

    To prepare for provisioning of Control-M/Agent version 9.0.20.000 with Patch 1 (PAKAI.9.0.20.001) on a Windows host, a copy of the Agent.Windows.json image is named Agent_9020001.Windows.json. The PAKAI.9.0.20.001_windows_x86_64.zip file is downloaded from the EPD site and the image file is edited to contain the following JSON code:

    Copy
    {
       "OS": "windows-x86_64",
       "Installers":
          [
             "DRKAI.9.0.20.000_windows_x86_64.zip",
             "PAKAI.9.0.20.001_windows_x86_64.zip"
          ]
    }
  5. Ensure that your new image is detected by the API, by running the ctm provision images command. Ensure that your new image is returned by the API command.

    For more information about this command, see Provision service.