Introduction
Controllers are used to orchestrate Agents that execute jobs:
- A Controller is assigned any number of Agents.
- One or more Controllers can be registered with a single JOC Cockpit instance.
Controllers can be clustered for high-availability, for details about the architecture see JS7 - Controller Cluster.
- If the server node operating the active Controller instance fails then orchestration of Agents is continued from the standby Controller on the remaining server node. This similarly applies to the JS7 - Order History and JS7 - Task History that are updated from the active Controller instance.
- Fail-over between Controller instances is automatically performed, typically within 2-3s.
- Job execution on Agents is not affected by a fail-over between Controller instances.
Scalability is not a motivation for clustering as a Controller offers any performance required to orchestrate Agents.
Controller clustering is subject to the agreements of the JS7 - License:
- Use of Standalone Controllers:
- available to Open Source License holders and to commercial license holders.
- for details see JS7 - Management of Standalone Controllers.
- Use of Controller Clusters:
- available to commercial license holders,
Manage Controller Clusters
The JS7 - Controller Installation On Premises and JS7 - Controller Installation for Containers articles explain the installation of Standalone Controllers.
The icon in the JOC Cockpit main menu is used to select the Manage Controllers/Agents view:
This brings forward the following view:
- The view is grouped in Controllers (indicated by testsuite and standalone).
- For each Controller separate lists of Standalone Agents and Cluster Agents are displayed.
Add Controller Cluster
To add a Controller Cluster users can start from the New Controller button in the right hand upper corner.
This brings forward the following popup window:
Explanation:
- Title: An individual description that can be searched for.
- URL: The protocol HTTP or HTTPS, host name or IP address and port with which the Controller can be accessed from the JOC Cockpit.
- Test Connection: It is recommended that the connection between the JOC Cockpit and the Controller is tested.
- Users should note that firewalls can block access from the JOC Cockpit to a Controller.
- Use of a Proxy Service might require updating the URL.
Delete Controller Cluster
With deletion of a Controller all Agents will be removed from the Controller and from the JOC Cockpit inventory.
- Before deleting the Controller from the JOC Cockpit inventory:
- Any Agents registered with the Controller should be shutdown and their journals should be removed:
- Agents can act autonomously and might continue to execute workflows for which orders are still available.
- Agents' journals are located in the
state
sub-directory of their configuration directory.
- The Controller instance should be shutdown and its journal should be removed:
- Controllers act independently of the JOC Cockpit and maintain network connections to Agents.
- A Controller's journal is located in the
state
sub-directory of its configuration directory.
- Any Agents registered with the Controller should be shutdown and their journals should be removed:
- Deletion of a Controller does not remove workflows and other scheduling objects from the JOC Cockpit inventory.
- Scheduling objects can be deployed to any connected Controller.