Control-M/Server Provisioning

The Control-M/Server provision process is supported on Windows with an MS SQL database and on Linux with an Oracle database. You can create a new Control-M/Server or transfer an existing Control-M/Server from one host to another (server rehydration).

Provisioning Control-M/Server is based on images. An image is JSON code that lists the installation packages in the order they are installed. Control-M Automation API provides several default images, and you can create custom images that include, for example, a newer version of Control-M/Server.

You must obtain the Control-M/Server installation packages that are referenced in the images before provisioning. You can save these installation packages in a customized location, such as in a JFrog Artifactory repository, Amazon S3 buckets, or a local file system. Alternatively, you can set up a local repository to save the installation packages and images.

You can provision Control-M/Server with one of the following methods:

  • Run separate image and setup commands: Enables you to download and prepare the installation files for Control-M/Server with the image command. You can later install and register Control-M/Server with the setup command. This is useful for dynamic installations, such as installations that use a VM image.

  • Run a single install command: Performs the full Control-M/Server installation process with a single install command. This is useful for static architectures that do not distinguish between image building and instantiation.

Control-M/Serversetup or installation is based on settings that you define in a configuration file that is a payload JSON file. For the full description of this configuration file, see Control-M/Server Provisioning.

The following API commands enable you to provision or uninstall Control-M/Server:

provision server::setup

The provision server::setup command enables you to install a Control-M/Server and registers it in the Control-M environment.

This API command is supported only through the CLI and cannot be called through a REST API command.

CLI Syntax

The following shows the CLI syntax for the provision server::setup command:

ctm provision server::setup -f <configuration file>

where <configuration file> defines the pathname to a JSON file that contains the Control-M/Server definitions. For the full description of this configuration file, see Control-M/Server Provisioning.

If annotation is enabled for the Configuration Management category in the CCM or Configuration domain, you must also provide an annotation to justify your action. For more information, see Annotation Input.

provision server::install

The provision server::install command enables you to combine the image and setup commands into one action. It downloads the Control-M/Server, installs it and registers it in the Control-M environment.

This API command is supported only through the CLI and cannot be called through a REST API command.

CLI Syntax

The following shows the CLI syntax for the provision server::install command:

ctm provision server::install <image> -f <configuration file>

The following table describes the provision server::install command parameters.

Parameter

Description

image

Defines the image that you want to install. This is one of the images returned by the provision images command.

configuration file

Defines the pathname to a JSON file that contains the Control-M/Server definitions.

For the full description of this configuration file, see Control-M/Server Provisioning.

If annotation is enabled for the Configuration Management category in the CCM or Configuration domain, you must also provide an annotation to justify your action. For more information, see Annotation Input.

provision server::uninstall

The provision server::uninstall command enables you to uninstall a Control-M/Server from the user account and unregisters it from the Control-M environment.

This API command is supported only through the CLI and cannot be called through a REST API command.

CLI Syntax

The following shows the CLI syntax for the provision server::uninstall command:

ctm provision server::uninstall [server]

where [server] is the name of the Control-M/Server. This is required only on a Linux host that has multiple Control-M/Servers installed.

If annotation is enabled for the Configuration Management category in the CCM or Configuration domain, you must also provide an annotation to justify your action. For more information, see Annotation Input.

Server Provisioning Configuration

This page provides information for creating a configuration file for the provisioning of a Control-M/Server. This configuration file is a payload JSON file that contains the details of a Control-M/Server that you want to provision.

The exact group of properties that you include in the configuration file depends on the following considerations:

Consideration

Options

OS and database

  • Windows with MS SQL.

  • Linux with Oracle.

Type of installation

  • New Control-M/Server.

  • Transfer of an existing Control-M/Server from one machine to another (server rehydration).

The following code samples show the available objects and properties that you can include within such a file for each type of installation. The rest of this page provides descriptions of all properties.

Copy

New server on Windows with MS SQL database

{  
    "JavaHome": "C:\\java\\Eclipse_Adoptium_jre-17.0.6.10-hotspot",             
    "Installation": "new",
    "ControlMName": "MyControlMName",
    "InstallPath": "C:\\Program Files\\BMC Software",
    "Database": {
        "Vendor": "MSSQL",
        "Host": "10.10.10.10",
        "Port": 1433,
        "AdminLogin": "manager",
        "AdminPassword": "*********",
        "OwnerLogin": "ctmuser",
        "OwnerPassword": "*********",
        "Size": "Small",
        "TablespaceSize": 250,
        "Databasename": "ctrlmdb",
        "CJK": "false",
        "FullPathName": "C:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\ctmuser.dat"
    },
    "Log": {
        "Size": 90,
        "FullPath": "C:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\ctmuser.log"
    },
    "Configuration": {
        "Hostname": "10.10.10.10",
        "ControlMEMTcpIpPort": 2370,
        "IPCPort": 6005,
        "ConfigurationAgentPort": 2369,
        "ServerToAgentPort": 7006,
        "AgentToServerPort": 7005,
        "HighAvailabilityPort": 2368
    }
}
Copy

Rehydrated server on Windows with MS SQL database

{        
    "JavaHome": "C:\\java\\Eclipse_Adoptium_jre-17.0.6.10-hotspot",             
    "Installation": "rehydrate",
    "Database": {      
        "Host": "10.10.10.10",
        "Port": 1433,
        "OwnerLogin": "ctmuser",
        "OwnerPassword": "*********"
    },
    "Configuration": {
        "Hostname": "10.10.10.10",
        "ControlMEMTcpIpPort": 2370,
        "IPCPort": 6005,
        "ConfigurationAgentPort": 2369,
        "ServerToAgentPort": 7006,
        "AgentToServerPort": 7005,
        "HighAvailabilityPort": 2368
    },
    "PrimaryServer": {
        "Database": "MSSQL",
        "Installation": "CTM",
        "Hostname": "server1"
    }
}
Copy

New server on Linux with Oracle database

{        
    "JavaHome": "C:\\java\\Eclipse_Adoptium_jre-17.0.6.10-hotspot",             
    "Installation": "new",
    "ControlMName": "MyControlMName",
    "Database": {
        "Vendor": "Oracle",
        "InstanceName": "ORCL",
        "Host": "10.10.10.10",
        "Port": 1521,
        "AdminLogin": "manager",
        "AdminPassword": "********",
        "OwnerLogin": "ctmuser",
        "OwnerPassword": "********",
        "Size": "Small",
        "TablespaceSize": 250,
        "TablespaceName": "ctmuser_tbs"
    },
    "Configuration": {
        "Hostname": "10.10.10.10",
        "ControlMEMTcpIpPort": 2370,
        "IPCPort": 6005,
        "ConfigurationAgentPort": 2369,
        "ServerToAgentPort": 7006,
        "AgentToServerPort": 7005,
        "HighAvailabilityPort": 2368
    }
}
Copy

Rehydrated server on Linux with Oracle database

{        
    "JavaHome": "C:\\java\\Eclipse_Adoptium_jre-17.0.6.10-hotspot",             
    "Installation": "rehydrate",
    "Database": {
        "InstanceName": "ORCL",
        "Host": "10.10.10.10",
        "Port": 1521,
        "OwnerLogin": "ctmuser",
        "OwnerPassword": "********"
    },
    "Configuration": {
        "Hostname": "10.10.10.10",
        "ControlMEMTcpIpPort": 2370,
        "IPCPort": 6005,
        "ConfigurationAgentPort": 2369,
        "ServerToAgentPort": 7006,
        "AgentToServerPort": 7005,
        "HighAvailabilityPort": 2368
    },
    "PrimaryServer": {
        "Database": "Oracle",
        "Installation": "CTM",
        "Hostname": "server1"
    }
}

General Settings

The following table describes the General Settings object properties, which are at the top of the configuration file and define the basic settings of the Control-M/Server.

Property

Description

JavaHome

Defines the path where a JRE is installed.

If you upgrade Control-M/Server to version 9.0.21, you must set the JavaHome parameter.

Installation

Determines the type of installation:

  • new

  • rehydrate

ControlMName

(New Control-M/Server only) Defines a logical name for the new Control-M/Server.

InstallPath

(New Control-M/Server on MSSQL only) Defines the installation path of the Control-M/Server on an MS SQL host. Typically, this is C:\\Program Files\\BMC Software

Database Settings

The following table lists the database-related properties that appear under the Database object, indicating the types of installations and databases for which each property is required.

Property

Description

New MS SQL

Rehydrate MS SQL

New Oracle

Rehydrate Oracle

Vendor

Database vendor, either Oracle or MSSQL.

Yes

No

Yes

No

InstanceName

Name of the Oracle database instance.

No

No

Yes

Yes

Host

Host name, IP address, or alias of the database host machine.

Yes

Yes

Yes

Yes

Port

Number of the TCP/IP port for communication between Control-M and the database.

Yes

Yes

Yes

Yes

AdminLogin

Database administrator username.

Yes

No

Yes

No

AdminPassword

Database administrator password.

Yes

No

Yes

No

OwnerLogin

Name of the Control-M/Server database owner.

Yes

Yes

Yes

Yes

OwnerPassword

Password of the Control-M/Server database owner.

Yes

Yes

Yes

Yes

Size

Textual category for database memory requirements — SMALL, MEDIUM, or LARGE.

Yes

No

Yes

No

TablespaceSize

Total size of the Control-M/Server database.

Yes

No

Yes

No

TablespaceName

Name of the Oracle tablespace.

No

No

Yes

No

DatabaseName

Name of the Control-M/Server MS SQL database.

Yes

No

No

No

CJK

Whether the database supports CJK characters, either true or false.

Yes

No

No

No

FullPathName

Defines the MSSQL database installation pathname.

Example: C:\\Program Files\\Microsoft SQL Server\\ MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\ctmuser.dat

Yes

No

No

No

Two more properties under the Log object are relevant only for a new server on MSSQL.

Property

Description

Size

Determines the amount of space (MB) to allocate for the Control-M/Server database log.

FullPath

Defines the Control-M/Server database log pathname.

C:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\ctmuser.log

Control-M settings

The following properties under the Configuration object define settings for the Control-M/Server that you are provisioning and its interaction with the Control-M environment.

Property

Description

Hostname

Host name, IP address, or alias of the machine on which to install the Control-M/Server .

ControlMEMTcpIpPort

Number of Control-M/Server port that listens for communication from Control-M/EM.

Valid Values: 1025–32767.

Typical value: 2370

IPCPort

Number of port used by the RT process for inter-process communication (IPC).

Valid Values: 1025–32767.

Typical value: 6005

ConfigurationAgentPort

Number of port for communication from the Control-M/Server to the Control-M/EMConfiguration Server.

Valid Values: 1025–32767

Typical value: 2369

ServerToAgentPort

Number of port used by the Agent to receive communication from the Control-M/Server .

Valid Values: 1024–65534

Typical value: 7006

AgentToServerPort

Number of port used by the Control-M/Server to receive communication from the Agent.

Valid Values: 1024–65534

Typical value: 7005

HighAvailabilityPort

Number of port for communication between the Control-M/Server Configuration Agents on the primary and secondary host in a High Availability (HA) environment.

Typical value: 2368

When performing server rehydration, the following additional properties under the PrimaryServer object define the primary server from which the Control-M/Server is being transferred.

Property

Description

Database

Type of database on the primary server, either Oracle or MSSQL.

Installation

Type of installation. Currently only CTM is supported.

Hostname

Host name, IP address, or alias of the machine that hosts the primary server.