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

Compare with Current View Page History

« Previous Version 4 Next »


Introduction

  • Relocating the Controllers refers to move the Controller either to a new server or to a new location on the same server. The relocating of the Controller will not stop the execution of the workflow. However, if a workflow includes jobs that are executed with different Agents then the workflow will not be completed and will be put on hold as switching of Agents during workflow execution is performed by the Controller.
  • As the Agent passes the workflow execution results to the Controller and as the Controller is stopped while the process of relocating the controller is in progress so the job execution results are not updated to the JOC Cockpit but once the Controller instance is started again (after relocation) then job execution results are updated to the JOC Cockpit History and become visible with the GUI.
  • To relocate the Controller it is required to copy the contents of the ./state folder to the relocated Controller. 
  • Before copying the content we need to first stop the services for the Controller otherwise it will continue to update the journals. 
  • As the Controllers also does not have any database connection so relocating the agent only requires copying the contents of the ./state directory and updating the URL of the Controller with the newly installed Controller in the JOC.

Relocating a Controller

  • The relocating of Controller requires only moving the ./state directory of Controller and changing the URL from the JOC Cockpit Manage Controller/Agents view. Refer to the knowledge base article Relocating the Controller's Journal for detailed steps.
  • The ./config folder for the Controller contains the truststore and keystores so if the Controller is running on HTTPS and if you want the new Controller also to run on HTTPS then the new server should have its own server authentication certificates.

Relocating the Controller Instance's Journal

If ControllerInstance1 is facing an outage then follow the below steps to relocate the Controller instance's journal from ControllerInstance1 to a new ControllerInstance2:

  1. Install ControllerInstance2
  2. Copy the files from the ./state folder of ControllerInstance1 to the respective folder of ControllerInstance2
  3. Start ControllerInstance2.
  4. Consider that the Controller URL is not the same for ControllerInstance1 and ControllerInstance2. 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 ControllerInstance which is not in service.
  8. Modify the "URL for JOC Cockpit" from the "Register Controller" dialogue box for the Controller instance that is not in service to point to the ControllerInstance2 URL.
  9. When workflows are confirmed to work with ControllerInstance2 then drop the contents of the ./state directory of ControllerInstance1. This an important step as otherwise, when ControllerInstance1 is started it will forward past orders from its journal to available Agents. This would result in double job execution that might be harmful depending on the nature of your jobs.



Notes:

  • If you use HTTPS connection for Controller instances then consider that ControlerInstance2 might need its own server authentication certificate. 
    • If ControllerInstance1 is operated for HTTPS, you can modify the protocol to HTTP and point to a different host provided that this is in line with your security requirements.
    • The same applies vice versa if ControllerInstance1 is operated for HTTP and ControllerInstance2 is operated for HTTPS.
  • If you intend to roll back from ControllerInstance2 to ControllerInstance1 then consider applying the above steps respectively.


  • No labels