Helix Control-M Full Migration

The Helix Control-M Full Migration process enables you to migrate your self-hosted Control-M environment to Helix Control-M. This eliminates the need to install and maintain Control-M/EM, Control-M/Servers, and their associated databases.

The migration process consists of the following steps:

  1. Environment Scan: Scans your self-hosted environment and generates an Excel-based Qualification Report that identifies incompatibility issues and lists the actions you must take to resolve or work around them when you migrate to Helix Control-M. You might have to run this scan more than once to ensure a safe transition of data. You must perform this procedure for every Control-M/Server in your environment. You can run this scan in one of the following modes:

    • Qualification Scan: Scans your environment and exports up to 5,000 folders in *.json format, by default. This might take up to an hour to complete, depending on the size of your environment.

    • Extraction Scan: Exports all folders in *.json format, and might take over an hour to complete, depending on the size of your environment.

    For more information, see Scanning Your Control-M Environment.

  2. Registration: Registers you for a Helix Control-M environment, which enables BMC to provide you with the required resources that match your current self-hosted environment. You receive an email from BMC Customer Service with a link to the SaaS Subscription Registration form. If you do not receive this email, you must contact your customer service representative.

    For more information, see Registering for Helix Control-M.

  3. Migration: Migrates your current Control-M environment, applies necessary adjustments, and generates an Excel-based Migration Report that identifies remaining incompatibility issues and lists the actions you must take to resolve or work around them. You must perform this procedure for every Control-M/Server in your environment. You can run this migration in one of the following modes after you have resolved and prepared for the incompatibility issues identified in the Qualification Report:

    • Extract and Deploy: Rescans your environment, extracts all folders from a user-defined Control-M/Server, migrates your entire Control-M/EM to Helix Control-M, and migrates your Control-M/Server to a Helix Control-M/Server.

    • Deploy Only: Migrates your entire Control-M/EM to Helix Control-M, and migrates a user-defined Control-M/Server to a Helix Control-M/Server, but does not rescan your environment.

    For more information, see Migrating to Helix Control-M.

An organization runs a Qualification Scan and discovers that they are qualified to migrate to Helix Control-M. The Qualification Report advises them to make a number of changes, including to their folder definitions. The organization Administrator then runs an Extraction Scan, which exports all of the folders in their environment, then they make the required changes detailed in the Qualification Report. The Administrator then registers for a Helix Control-M tenant and runs a Deploy Only migration on every Control-M/Server in their environment, which migrates their Control-M/EM and all of the extracted folders with the changes that they applied.

Scanning Your Control-M Environment

This procedure describes how to scan your current self-hosted Control-M environment. You must perform this procedure for every Control-M/Server in your environment. You can run this tool from any Windows or Linux computer.

Before You Begin

  • Verify that Control-M Automation API 9.0.20.245 or higher is installed on the Control-M/EM Server.

  • Verify that you have access to the Control-M/EM database.

BMC recommends that you use the latest version of Control-M Automation API. For more information, see Automation API Installation.

Begin

  1. Download the Helix Control-M Migration Tool migration tool, based on your operating system, from Helix Control-M Migration Tool, and unzip it to a temporary folder.

  2. (Optional) To migrate %%LIBMEMSYM variable lists, create a %%LIBMEMSYM Control File, as described in Creating a LIBMEMSYM Control File.

  3. From the inputParameters folder, inside the unzipped migrateToHelix temporary folder, open the parameters.txt file in a text editor and define the Scan mode parameters, as described in Migration Tool Parameters.

  4. Do one of the following:

    • To scan your environment and export up to 5,000 folders (default) in *.json format, do the following:

      1. (Optional) To change the default 5,000-folder export limit, from the path/data/ directory in the unzipped migrateToHelix folder, open the configuration.json file in a text editor and change the foldersCountLimit parameter value, as shown in the following example:

        Copy
        "foldersCountLimit": 10000
      2. From the command line, navigate to the unzipped migrateToHelix folder and run the following command:

        migrateToHelix.bat q

    • To scan your environment and export all folders in *.json format, do the following:

      1. Install the most recent version of Control-M Automation API on Control-M/EM Server, as described in Automation API Installation.

      2. From the command line, navigate to the unzipped migrateToHelix folder and run the following command:

        migrateToHelix.bat e

        Scan and export time depends on the size of your environment.

    The scan runs and produces an Excel-based Qualification Report.xlsx file in the report folder, which includes one or more of the following results in the Qualification Summary sheet:

    • Passed

    • An automatic adjustment was made.

    • Manual action is required.

    • An incompatibility was found.

  5. From the report folder, open, review, and follow the directions in the Qualification Report.

    Depending on Qualification Report results, you might have to scan your environment more than once.

Registering for Helix Control-M

This procedure describes how to register for a Helix Control-M environment, which enables BMC to provide you with the required resources that match your current self-hosted environment.

You must perform this procedure only once.

Begin

  1. Run the Helix Control-M Migration Tool in Qualification Mode, as described in Scanning Your Control-M Environment.

  2. Open the migration metadata file from the following location:

    • UNIX/Linux: <migrateToHelix>/output/migration_metadata.xlsx

    • Windows: "<migrateToHelix>\output\migration_metadata.xlsx"

  3. From the Time Zone drop-down list next to each Control-M/Server, select your Control-M/Server time zone.

  4. Save the file and upload it in the Helix Control-M Migration - Technical Migration Details section of the SaaS Subscription Registration form.

  5. Complete and submit the SaaS Subscription Registration form.

    A confirmation email with a link to your new Helix Control-M environment arrives after it is ready.

Migrating to Helix Control-M

This procedure describes how to migrate your current self-hosted Control-M/EM and a Control-M/Server to Helix Control-M. You must perform this procedure for every Control-M/Server in your environment. You can run this tool from any Windows or Linux computer.

Before You Begin

  • Verify that the most recent version of Control-M Automation API is installed on Control-M/EM Server. For more information, see Automation API Installation.

  • Verify that you have access to the Control-M/EM database.

Begin

  1. Download the Helix Control-M Migration Tool migration tool, based on your operating system, from Helix Control-M Migration Tool, and unzip it to a temporary folder.

  2. (Optional) To migrate %%LIBMEMSYM variable lists, create a %%LIBMEMSYM Control File, as described in Creating a LIBMEMSYM Control File.

  3. From the inputParameters folder, inside the unzipped migrateToHelix folder, open the parameters.txt file in a text editor, define the parameters for the Migration or Deploy Only mode, as described in Migration Tool Parameters. If necessary, redefine the parameters that you defined when you ran the tool in one of the Scan modes.

  4. Do the following:

    1. From the command line, navigate to the unzipped migration tool folder.

    2. Do one of the following: 

      • Migration Mode: Run the following command:

        migrateToHelix.bat m

        The tool rescans your environment, migrates your Control-M/EM and the defined Control-M/Server to Helix Control-M, and produces an Excel-based Migration Report.xlsx file in the report folder.

      • Deploy Only Mode: Run the following command:

        migrateToHelix.bat deployOnly

        The tool migrates your Control-M/EM and the defined Control-M/Server to Helix Control-M, and produces an Excel-based DeployOnlyReport.xlsx file in the report folder.

  5. From the report folder, open, review, and follow the directions in the Migration or Deploy Only Report.

    Your self-hosted environment has been migrated to your Helix Control-M tenant.

  6. (Optional) Migrate Control-M MFT local connection profiles and Application-Integrator-created plug-in connection profiles to Helix-supported centralized connection profiles, as described in Migrating Local to Centralized Connection Profiles.

  7. Get started with Helix Control-M, as described in Getting Started.

Migrating Local to Centralized Connection Profiles

This procedure describes how to migrate Control-M MFT local connection profiles and Application-Integrator-created plug-in connection profiles to centralized connection profiles in Helix. You must perform this procedure on every Agent that contains Control-M MFT and Application-Integrator-plug-in-created local connection profiles that you want to migrate.

Before You Begin

  • Verify that Control-M/Agent 9.0.21 or higher is installed.

  • Verify that Helix Agent 9.0.21.200 or higher is installed.

Begin

  1. Download the Helix Control-M LCP-to-CCP Migration Tool, based on your operating system, from Helix Control-M Migration Tool, and unzip it to a temporary folder.

  2. From the self-hosted Agent, navigate to the temporary folder where you unzipped the LCP-to-CCP migration tool, and run the following command to export your local connection profiles:

    lcpToCcp -export [-pluginType <MFT, AI, or ALL>] [-agentDir <Windows_Agent_Directory_Pathname>]

    For more information, see Connection Profile Migration Parameters.

    The directory path and filename of the zipped exported local connection files appears.

  3. Copy the zip file to the Helix Agent.

  4. From the Helix Agent, run the following command to migrate the zipped local connection profiles to centralized connection profiles:

    lcpToCcp -import -path <ZIP_Pathname_and_Filename> -url <Automation_API_URL> -token <API_Token> -ctm <Control-M/Server> -agent <Agent> [-cpnp <OVERWRITE, SKIP, or ASK>] [-d <TRUE or FALSE>] [-agentdir <Agent_Directory_Pathname>]

    For more information, see Connection Profile Migration Parameters.

    The local connection profiles from the self-hosted Agent are migrated to centralized connection profiles in Helix.

Migration Tool Parameters

The following table describes the parameters that you must define when Scanning Your Control-M Environment and Migrating to Helix Control-M, depending on the mode.

Parameter

Mode

Definition

Control-M Automation API Endpoint

  • Both Scans

  • Migration

--control-m-automation-api-endpoint=<endpoint>:8443/automation-api

Control-M/Server Name

  • Both Scans

  • Migration

--control-m-server-name=<Control-M/Server-Name>

Control-M/EM Administrator Username

  • Both Scans

  • Migration

--control-m-enterprise-manager-username=<EM_Username>

Control-M/EM Administrator Password

  • Both Scans

  • Migration

--control-m-enterprise-manager-password=<EM_Password>

To enter the password when prompted by the migration tool, delete =<EM_Password>.

Control-M/EM Database Username

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-username=<Database_Username>

Control-M/EM Database Password

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-password=<Database_Password>

To enter the password when prompted by the migration tool, delete =<Database_Password>.

Control-M/EM Database Type

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-type=<Database_Type>

Type MSSQL, PostgreSQL, or Oracle.

Control-M/EM Database Host Name

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-hostname=<Database_Host_Name>

Control-M/EM Database Port Number

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-port=<Port_Number>

Control-M/EM Database Name

  • Both Scans

  • Migration

--control-m-enterprise-manager-database-name=<EM_Database_Name>

Type your database or service name.

%%LIBMEMSYM Variable List

  • Both Scans

  • Migration

--libmemsym-control-file=<LIBMEMSYM_Control_File.csv_Pathname>

(Optional) Creates Pool variables with names and values that correspond to each variable in the %%LIBMEMSYM variable list. For more information, see Variable Lists.

Helix does not recognize %%LIBMEMSYM variable lists. You must find all your %%LIBIMEMSYM variable lists, copy them to your local host, and create a control file to migrate your %%LIBIMEMSYM variable lists to Pool variables, as described in Creating a LIBMEMSYM Control File.

Control-M Helix Automation API Endpoint

  • Migration

  • Deploy Only

--control-m-helix-automation-api-endpoint=<Endpoint>/automation-api

Control-M Helix Automation API Token

  • Migration

  • Deploy Only

--control-m-helix-api-token=<Token_ID>

To enter the API token when prompted by the migration tool, delete =<Token_ID>.

For more information, see Creating an API Token.

Output Folder Path

All Modes

--output-folder-path=output

(Optional) To change the default output folder, replace output with a new directory path.

Skip Missing Agents

Migration

--skip-if-missing-agents

(Optional) Does not migrate job and folder definitions when the required Helix Agents are not installed.

Helix Control-M/Server Name

All Modes

--control-m-helix-server-name=<Control-M/Server_Name>

(Optional) Defines the name of the Helix Control-M/Server that the current Control-M/Server migrates to.

Connection Profile Migration Parameters

The following table describes the parameters that you must define when you migrate your Control-M MFT and Application Integrator local connection profiles to centralized connection profiles in Helix Control-M.

Parameter

Description

-pluginType

(Optional) Determines which plug-in connection profiles are exported, as follows:

  • ALL: Exports the Control-M MFT and Application Integrator local connection profiles.

  • FileTransfer: Exports the Control-M MFT local connection profiles.

  • AI: Exports the Application Integrator local connection profiles.

Default: ALL

-agentDir

(Windows only) Defines the Agent directory pathname where the connection profiles are stored.

You must use this parameter if you have multiple Agents on the same host.

Default: Defaults to the local Agent directory.

"C:\Program Files\BMC Software\Helix Control-M Agent\ABC-TLV-WEG30I_1"

-path

Defines the *.zip file pathname on the Helix Agent that contains the exported local connection profiles.

/home/myuser/pluginExportedData_dba-tlv-w5r6p9_20230716_121315.zip

-url

Defines the Control-M Automation API URL.

https://myemserver-aapi.us1.ci.ctmsaas.com/automation-api/

-token

Defines the Control-M Automation API token, as described in Creating an API Token.

-ctm

Defines the Control-M/Server name, such as AA01.

-agent

Defines the Agent name or alias, such as Agent1.

-cpnp

(Optional) Determines one of the following actions to take when a centralized connection profile with the same name is found:

  • SKIP: Leaves the current centralized connection profile as is.

  • OVERWRITE: Overwrites the current centralized connection profile with the migrated local connection profile definitions.

-d

(Optional)

Determines whether to save or delete the *.zip file that contains the Control-M MFT local connection profiles and Application-Integrator-created plug-in connection profiles after they are migrated to centralized connection profiles in Helix.

  • TRUE: Deletes the *.zip file.

  • FALSE: Saves the *.zip file.

Default: FALSE

Creating a LIBMEMSYM Control File

This procedure describes how to create a LIBMEMSYM control file, which the migration tool uses to transfer your %%LIBMEMSYM variable lists to Pool variables. For more information, see Variable Lists.

Begin

  1. Find all unique LIBMEMSYM files that each %%LIBMEMSYM variable points to, and copy these files from the Control-M/Server to a temporary folder on your host.

  2. Open a text editor and for each unique %%LIBMEMSYM variable list, type the following entries, separated by commas, on a new line:

    • Pathname of the copied LIBMEMSYM file that you copied from the Control-M/Server, on your host.

    • Pathname of the LIBMEMSYM file on the Control-M/Server.

    • Pool Name that each variable in the %%LIBMEMSYM variable list is migrated into.

      c:\temp\libMem1.txt,C:\Program Files\BMC Software\Control-M Server\ctm_server\libMem1,PoolName1

      c:\temp\libMem2.txt,C:\Program Files\BMC Software\Control-M Server\ctm_server\libMem2,PoolName2

      c:\temp\libMem3.txt,C:\Program Files\BMC Software\Control-M Server\ctm_server\libMem3,PoolName3

  3. Save the LIBMEMSYM_Control_File.csv file and type the pathname after the = (equals sign) in the %%LIBMEMSYM Variable List Parameter, as described in Migration Tool Parameters.

Migration Troubleshooting

The following table describes migration problems that might occur and corrective actions you can take to troubleshoot the migration process.

Problem

Corrective Action

Errors appear when you run the migration tool.

  1. Run the following command:

    ctm env show

  2. Record the environment name that you want to run the tool in and run the following command:

    ctm deploy jobs::get -s ctm=<Server_Name> & folder=<Existing_Folder_Name> -e <Environment_Name>

There are connectivity issues when you run the migration tool.

Run the following command to determine if you have sufficient privileges in your self-hosted environment:

ctm config servers::get

If the following response does not appear, you must grant read and write privileges to your Control-M Automation API self-hosted environment:

Copy
[
  {{{}}
    "name": "ctmcore",
    "host": "ctmcore",
    "state": "Up",
    "message": "",
    "version": "9.0.20.200"
  }
]