Control-M Automation API CLI Requirement for Python
December 2, 2024: BMC is alerting you to the upcoming requirement for Python version 3.8.4 or later to run Control-M Automation API CLI version 9.0.22, which will be part of the February 2025 release of Control-M Automation API (version 9.0.22.000) and, later on, part of the 9.0.22 major release of Control-M/Agent and Control-M/EM. To prepare for this upcoming version of Control-M Automation API, install Python on any machine that runs the Automation API CLI.
For more information about this requirement, see the FAQ section below.
Python Requirement FAQ
The following table provides answers for common questions regarding the Control-M Automation API CLI requirement for Python:
Question | Answer |
---|---|
Why is Control-M Automation API CLI moving to Python? | The shift from Node.js to Python is planned to improve security and will enable you to choose which version of Python to install and use. |
What will happen to my existing flows that use Automation API? | Existing flows that use automation API will not break. If Automation API CLI identifies that your environment does not have Python, a frozen-in-time Node.js package of Automation API CLI is used for compatibility with the existing APIs. This Node.js package contains Automation API CLI with the same functionality as version 9.0.22. |
If my environment does not have Python configured, can I still use all APIs during the transition period? | All APIs that were developed until version 9.0.22 or in version 9.0.22 will continue to function. Any attempt to use a new functionality added after version 9.0.22 will return an error. |
Can I install the newest Control-M Automation API CLI without Python? | No. Any new installation of Control-M Automation API CLI version 9.0.22 requires Python 3.8.4 or later. |
Do I need to have Python in my environment when I upgrade the Control-M/Agent to version 9.0.22? | Upgrade of a Control-M/Agent to version 9.0.22 where Control-M Automation API CLI is in use (that is, at least one CLI environment is detected) requires Python 3.8.4 or later. If the Upgrade process identifies that Control-M Automation API CLI is not used on this Agent, the upgrade completes successfully. However, any attempt to add new workflows using Control-M Automation API CLI will require Python 3.8.4 or later. |
I have many hosts that run Control-M Automation API CLI. How do I identify those that require Python? | After you upgrade to Control-M Automation API 9.0.22, running Control-M Automation API CLI on a host without the required Python will be logged in a file on the Control-M Automation API Server on the relevant hosts, and this file will be accessible for review through Control-M/EM. This will allow you to gradually adjust the existing hosts and install Python on those hosts when possible. |
Will the existing Node.js be removed from the Control-M/Agent? | Node.js will be removed from Control-M/Agents where Control-M Automation API CLI is not in use. Node.js will be kept on Control-M/Agents where Control-M Automation API CLI is in use or where the Control-M/Agent is installed with multiple instances on a Windows host. |
Will the new Automation API CLI work when it connects to an older Control-M/EM? | Control-M Automation API CLI will match the Control-M/EM version. If the version is earlier than 9.0.22, the existing Node.js is used to run the CLI. In new Control-M Automation API CLI installations or new Control-M/Agent installations where the CLI connects to an older Control-M/EM, you will need to install Node.js (LTS) for this connection. |
When does BMC plan to drop support for the Node.js package? | The frozen-in-time package delivered in version 9.0.22.000 will remain available as long as version 9.0.21 of Control-M Enterprise Manager is in support. |