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:
  • 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.
  • 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.