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 images: (For Control-M/Servers and Agents) Lists all existing images.
-
provison image: (For Control-M/Servers and Agents) Downloads and prepares an image.
-
provision server::setup: Installs a Control-M/Server and registers it in the Control-M environment.
-
provision server::install: Combines the image and setup commands into one action.
-
provision image::remove: (For Control-M/Servers and Agents) Removes an image from the user account.
-
provision server::uninstall: Uninstalls a Control-M/Server from the user account and unregisters it from the Control-M environment.
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
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
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
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 |
|
|
Type of installation |
|
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.
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
}
}
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"
}
}
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
}
}
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:
|
|
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. |
