You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

  • The outage of a Controller will not stop the execution of workflows with an Agent.
  • But if a workflow includes jobs that are executed on different Agents then the workflow will not be executed and will be put on hold as the switching of Agents during workflow execution is done by Controller.
  • Testing by SOS includes performing tests for the scenario when the Controller is not available for 24 hours and the Agent executes all scheduled orders. When the Controller is started again then job execution results are updated to the JOC Cockpit History and become visible with the GUI.
  • For information about the behaviour in case of outages see JS7 - FAQ - What happens to workflows in case of outage of a Controller?

Troubleshooting

The Controller is the component in JS7 that holds the job-related configurations and orchestrates the Agent. The outage of a Controller does not prevent the execution of workflows having the jobs running on a single agent. However, it affects the execution of workflows which includes the jobs that are running on multiple agents as the switching of Agents during the workflow execution is done by the Controller. 

The Controller outage can be handled either by resolving the issue with the current Controller, e.g. by restarting or by relocating the ./state directory to a different Controller provided that access to the same scripts and programs is available that should be executed. The journal of the Controller is stored in the ./state directory. To relocate the Controller to a different Controller copy the journal to the target Controller.

Relocating the Controller's Journal

If Controller1 is facing an outage and Controller2 is running (on the same server or on a different server) then follow the below steps to relocate the Controller's journal from Controller1 to Controller2:

  1. Shutdown Controller2
  2. Copy the files from the ./state folder of Controller1 to the respective folder of Controller2
  3. Start Controller2
  4. Consider that the Controller URL is not the same for Controller1 and Controller2.  Therefore the URL has to be updated in the JOC Cockpit.
  5. To change the Controller URL, log in to the JOC Cockpit.
  6. From the main menu select the item "Manage Controllers/Agents".
  7. Make sure you edit the existing Controller which is not in service.
  8. Change the URL for JOC Cockpit from the Register Controller dialogue box for the Controller which is not in service to point to the Controller2 URL.
  9. When workflows are confirmed to work with Controller2 then drop the contents of the ./state directory of Controller1. This an important step as otherwise, when Controller1 is started it will not be able to find the events that were done by Controller2.



Note: If you intend to roll back from Controller2 to Controller1 then consider applying the above steps.



  • No labels