Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

  • Initial Operation is performed after installation of the JS7 Controller, Agent and JOC Cockpit , see as described in the JS7 - Initial Operation article.
  • In case there are the event of issues while registering the Controllers then , the Controller cannot orchestrate will not be able to submit the job-related configuration configurations to Agents.  AlsoIn addition, the Controller is used for the execution of workflows that include jobs running on a number of Agents will not be possible, as the switching of Agents during workflow execution is performed by the customer .
      • , it throws the error 021-09-21T11:21:49,764 ERROR js7.common.system.startup.JavaMain - No license for js7.controller.cluster 
        js7.base.problem.ProblemException$NoStackTrace: No license for js7.controller.cluster in the controller log file. 

Troubleshooting

On registering the Controller the status of the Controller can be checked either from the JOC Cockpit Dashboard. While registering a Controller the following issues can be faced:

...

  • and forwarded by the Controller.

Troubleshooting

After registering the Controller its status can be checked from the JS7 - Dashboard. When registering a Controller a number of misconfigurations may occur.

Operations to register a Controller are performed from the JOC Cockpit "Manage Controllers/Agents" page which is available from the user menu in the upper right-hand corner of the GUI. Administrative permissions are required to be able to see and to use this page.

User Errors

Same Controller is used as a Standalone Controller and as a member of a Controller Cluster

...

  • Problem:

...

  • Assume that the JOC Cockpit

...

  • uses a Controller registered as a Standalone Controller

...

  • . If the same Controller is

...

  • registered as a Controller Cluster member then the JOC Cockpit

...

  • will throw an error such as:
    • JocObjectAlradyExistException: com.sos.joc.exceptions.

...

    • JocObjectAlreadyExistException: Controller(s) with id 'controller' already

...

    • exists 
    • This error message will also be noted in the JOC Cockpit's log file, e.g. in the JS7_JOC_DATA

...

...

  • It is not possible

...

  • to register the same Controller

...

  • twice, as a Standalone

...

  • Controller and as a Controller cluster.

Users who wish to migrate their Standalone Controller

...

to a Controller Cluster should observe the following procedure:

  • Check that you have a license key ready as the clustering for Controllers is only available with a commercial license - see the JS7 - License article.
  • Verify that execution of workflows has been completed with the Standalone Controller and that no orders are running.
  • Remove the Standalone Controller from the JOC Cockpit GUI.
  • Shutdown the Standalone Controller and remove the Controller's journal files in its JS7_OONTROLLER_DATA/state directory.
  • Follow the steps listed in the JS7 - Initial Operation for Controller Cluster article.
  • Redeploy scheduling objects such as workflows from the JOC Cockpit to the Controller Cluster.

Controller Instances with different Controller IDs are used as a Controller Cluster

...

  • Problem:

...

  • If a Controller Cluster is registered with different Controller IDs for the Controller instances, then this will raise an error:
    • as joc

...

    • .log ControllerInvalidResponseDataException:  
      com.sos.joc.exceptions.ControllerInvalidResponseDataException: The cluster members must have the same Controller Id: http://<host1>:

...

    • <port1> -> controller_ID1, HTTP://<host2>:<port2> -> controller_ID2.
    • This error message will also be noted in the JOC Cockpit's log file, e.g. in the JS7_JOC_DATA/logs/joc.log file - see the JS7 - Log Files and Locations article.
  • Solution

...

  • It is not possible to register

...

Secondary Controller instance is not configured for use with a Cluster

  • Problem: If the Secondary Controller instance is not configured for use with a Cluster but runs as a standalone instance then the Primary Controller instance's

...

  • logs will include error messages such as:
    • 2022-01-27T00:00:08,669 WARN js7.cluster.ClusterCommon - 'ClusterStartBackupNode' command failed with HTTP 400 Bad Request: POST http://example.com:4444/controller/api/command => ClusterNodeIsNotBackup: The cluster node to be appointed is not configured as a backup node
    • This error message will also be noted in the JOC Cockpit's log file, e.g. in the JS7_JOC_DATA/logs/joc.log file - see the JS7 - Log Files and Locations article.
  • Solution: The Secondary Controller is missing the following setting in its JS7_CONTROLLER_DATA/config/controller.conf file - see the JS7 - Initial Operation for Controller Cluster, chapter: Check Cluster Settings article: 
    • js7.journal.cluster.node.is-backup=yes
    • Due to the missing setting, the Secondary Controller will now be acting as a standalone instance which is a different operating mode. To initialize the Secondary Controller instance for cluster operation apply the following steps:
      • Shutdown the Secondary Controller instance.
      • Delete the contents of the Secondary Controller instance's JS7_CONTROLLER_DATA/state directory.
      • Start the Secondary Controller instance.
      • In the JOC Cockpit GUI navigate to the User Menu->Manage Controllers/Agents page. Edit the Controller entry, check the connection status from the available buttons and submit. As a result the JOC Cockpit will forward this information to both Controller instances.
      • If the Controller instances are not coupled after approx. 120s then:
        • Shut down the Primary Controller instance.
        • Delete the contents of the Secondary Controller instance's JS7_CONTROLLER_DATA/state directory.
        • Shut down the Cluster Watch Agent.
        • Delete the contents of the Cluster Watch Agent's JS7_AGENT_DATA/state directory.
        • Start the Cluster Watch Agent.
        • Start the Primary Controller instance.
        • Coupling of Controller instances should occur within 60s.

License missing when configuring the Controller Cluster

  • ProblemUse of a Controller Cluster requires a license - see JS7 - License article for more information. It is not possible to

...

  • configure a Controller Cluster

...

  • without

...

  • license keys being in place for both Controller instances. In

...

  • the event of the license

...

  • for a Controller instance not being available while the cluster is being configured, the following error will be raised:
    • js7.common.system.startup.JavaMain - No license for js7.controller.

...

    • cluster js7.base.problem.ProblemException$NoStackTrace: No license for js7.controller.cluster.

...

...

  •  article.

Further Information

For troubleshooting during ongoing operation see the JS7 - How to troubleshoot Controller journals article.