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.

Operation of a Controller Cluster is subject to the agreements of the JS7 - License.

  • Use of Standalone Controllers:
  • Use of Controller Clusters:
    • available to commercial license holders,

For a Controller Cluster initial operation includes

  • requires a commercial license, see JS7 - License.Tasks include applying the license key and licensed binary code.
  • Tasks include registering the Controller Cluster and Agents.

...

Initial Operation requires that a JS7 Controller, Agent , Controller and JOC Cockpit have been successfully installed and are up and running.

...

Controller Cluster Checks

Anchor
check_controller_id
check_controller_id

...

Checking the Controller ID

Both Controller instances for in a Cluster cluster have to be installed with the same Controller ID, which is a unique identifier for the Controller Cluster.

...

  • Stop the Controller service:
  • Remove Controller journal files:
    • The journal files have to be removed from the configuration directory with the state sub-folderdirectory. This means that any orders, which have been submitted for workflows will be removed and that workflows will have to be redeployed:
      • Unix: rm -f /var/sos-berlin.com/js7/controller/state/*
      • Windows: del C:\ProgramData\sos-berlin.com\js7\controller\state\*
    • Note that a different location for the configuration directory can be specified during installation.
  • Modify the Controller ID:
    • Users can modify the Controller Instance Start Script that holds the environment variable: JS7_CONTROLLER_ID=<controller-id>
      • Unix: The
      Unix: For headless installation as an exception to the rule the
      • Controller ID is specified
      in the installation directory in the
      • with the bin/
      environment
      • controller_
      variables
      • instance.sh
       file
    • For Windows users can run the graphical installer to Windows: If the installer has been used (in headless mode or in graphical mode), then reinstall the Controller, see JS7 - Controller - Installation Using the Windows Graphical Installer.
  • Restart the Controller instance.

Anchor
check_cluster_settings
check_cluster_settings

...

Checking the Cluster Settings

The secondary Controller has to use the following configuration from its config/controller.conf file, see JS7 - Controller Configuration Items:

...

If changes to the above configuration are required then users can carry out the following steps for the secondary Controller instance:

  • Stop the Controller service:
  • Remove Controller journal files:
    • The journal files have to be removed from the configuration directory with the state sub-folderdirectory. This means that any orders that have been submitted for workflows will be removed and that workflows will have to be redeployed:
      • Unix: rm -f /var/sos-berlin.com/js7/controller/state/*
      • Windows: del C:\ProgramData\sos-berlin.com\js7\controller\state\*
    • Consider that a different location for the configuration directory can be specified during installation.
  • Modify the the config/controller.conf file to reflect the above the js7.journal.cluster.node.is-backup=yes setting.
  • Restart the Controller instance.

Adding License Key and Licensed Binary Code

Customers possessing holding a commercial license will receive a license key from SOS and can download the binary code that allows clustering of JS7 components, see JS7 - Download.

...

  • The license key can be added during installation of each Controller instance and each JOC Cockpit instance.
  • The license key can be added later on by storing the license certificate file in the following locations:
    • Unix: Controller Configuration Directory configuration directory with license sub-folderdirectory.
      • Default Locationlocation: /var/sos-berlin.com/js7/controller/config/license
      • A different location for the configuration directory can be specified during installation.
    • Windows: Controller Configuration Directory with license sub-folderdirectory.
      • Default Locationlocation:C:\ProgramData\sos-berlin.com\js7\controller\<controller-id>\config\license
        • where <controller-id> is the unique identifier for the Controller that is specified during installation.
      • A different location for the configuration directory can be specified during installation.

...

  • Binary code for clustering is available from the js7-license.jar file, which can be obtained from JS7 - Download.
  • By downloading the binary code for clustering you users consent with the license terms for a commercial license of JS7.
  • The js7-license.jar file has to be stored to the following locationslocation:
    • Unix: Controller Installation Directory installation directory with lib/user_lib sub-foldersdirectory:
      • Default Location location: /opt/sos-berlin.com/js7/controller/lib/user_lib
      • A different location for the installation directory can be specified during installation.
    • Windows: Controller Installation installation Directory with lib\user_lib sub-foldersdirectory:
      • Default Locationlocation:C:\Program Files\sos-berlin.com\js7\controller\lib\user_lib
      • A different location for the installation directory can be specified during installation.

...

Basically the same locations for license key and licensed binary code apply as already explained for Unix operating systems in previous chapters.

Note that there is no : No access to the container's file system is available before the container is running, which makes it impossible to add or replace licensed binary code before the Controller has been started.

Adding a License Key

  • The license key can be added by storing the license certificate file in the following location:

...

  • Binary code for clustering is available from the js7-license.jar file, which can be obtained from JS7 - Download.
  • By downloading the binary code for clustering you users consent with the license terms for a commercial license of JS7.
  • The js7-license.jar file has to be stored in the following locationslocation:
    • /var/sos-berlin.com/js7/controller/config/lib
    • The directory /var/sos-berlin.com/js7/controller typically is mounted in from a Docker var volume when running the container: for details see JS7 - Controller Installation for Docker Containers.
    • If the sub-directory config/lib does not exist then you can create it before storing the js7-license.jar file.

On startup start-up the Controller checks the above directory for existence of the js7-license.jar file. If the file is found then

...

Login to JOC Cockpit User Interface

...

Users can navigate with their browser to the JOC Cockpit URL and enter the User Account and Password. Typically the URL will include the hostname and port that JOC Cockpit has been installed

...

for:

  • For example, http://myhost:4446. Check that the JOC Cockpit port is accessible. This might require

    adding

    additional firewall rules to allow access to

    this

    the port from the computer that

    you operate

    the

    browser on

    user's browser is operated for.

  • After initial installation of JOC Cockpit the default

    User Account

    user account root and

    Password

    password root

     will be available if no changes have been made to the shiro.ini configuration file

     are available.

Note

...

: The root user is assigned the all role in the default configuration and

...

is granted all available permissions.

...

For details see the JS7 - Identity Services and JS7 - Authentication articles.

Note: JOC Cockpit might take a number of seconds

...

to start and to display the login window.


Image Modified

Register Controller and Agents

After successful login to JOC Cockpit a dialog window for registering a Controller is showndisplayed. You  Users will find the same dialog later on via the User -> Manage Controllers/Agents menu itemview.

You Users have a choice to register of registering a Standalone Controller (within scope of the JS7 Open Source License) or a Controller Cluster for high-availability (requires a within scope of the JS7 Commercial License, see JS7 - LicensingLicense).

Anchor
register_controller_cluster
register_controller_cluster
Register Controller Cluster

A Controller Cluster implements high-availability for automated fail-over should a server node operating the Controller instance be aborted or killed or become unavailable.

Image Removed


ExplanationImage Added


This dialog allows the Primary Controller instance, the Secondary Controller instance and an Agent Cluster Watcher to be specified.

Explanation

  • Title: The title added for each Controller instance will be shown in is displayed with the JS7 - Dashboard view.
  • URL for JOC Cockpit: Primary and Secondary Controller instances require a URL as seen from JOC Cockpit. This URL is used by JOC Cockpit to connect to the relevant Controller instancesare accessed by this URL from JOC Cockpit.
    • The URL
    of the Controller typically
    • includes the protocol, hostname and port that the relevant Controller instance is operated for.
    • By default the HTTP protocol is used. The HTTPS protocol can be used if TLS/SSL certificates are in place, see JS7 - Controller HTTPS Connections.
  • URL for Secondary / URL for Primary: The Primary Controller establishes a connection to the Secondary Controller and vice versa.
    • Input to this field is not required if the URL for a Controller instance is the same across the network.
    • Input to this field is required should Proxy Services be involved that make use of specific URLs.
  • Cluster Watcher: An Agent The Agent Cluster Watcher is required for operation of a Controller Cluster. The Agent is contacted by both Controller Cluster members to verify the cluster status should a direct connection between Controller Cluster members not be available.
    • Agent ID: The Agent is assigned an Agent ID which is a unique identifier for this Agent and . Uniqueness is applied for all Agents registered with the same Controller. The Agent ID cannot be modified during the lifetime of an Agent. Change of Changes to the Agent ID requires the removal require the Agent to be removed and re-addition of the Agent added with JOC Cockpit. It is not necessary to uninstall/reinstall the Agent.
    • The Agent Name is a unique identifier that : The name of an Agent is used for example in the JOC Cockpit Configuration view to assign Agents when assigning the Agent to jobs.  The Similarly to the Agent ID the Agent Name has to be unique but can be modified changed later on.
    • The Agent URL is the hostname : The protocol HTTP or HTTPS, host name or IP address and port for by which the Agent is operatedis accessible to the Controller.

Note

...

: The following connections should be accessible and

...

might require

...

additional firewall rules to allow access to the relevant ports:

  • JOC Cockpit connection
    • to the Primary Controller host and port.
    • JOC Cockpit connection to the Secondary Controller host and port.
  • Primary Controller connection
    • to the Secondary Controller host and port.Secondary Controller connection to the Primary Controller
    • to the Cluster Watcher Agent host and port.Primary
  • Secondary Controller connection
    • to the Primary Controller to the Cluster Watcher Agent host and port.
    • Secondary Controller connection to the Cluster Watcher Agent host and port.

For more information about network connections see JS7 - System Architecture.

Anchor
register_agents
register_agents
Register Agents

After the connection between JOC Cockpit and the Controller is established you users can add Agents. To register an Agent, switch to the Manage Controller/Agents view from the user menu. Click on the Action Menu of the Controller for which an Agent should be registered and select Add Agent.
The Image Added icon in the JOC Cockpit main menu offers to select the Manage Controllers/Agents view:

Image Added


To add a Standalone Agent users can start from the Controller's action menu to which the Agent should be added:

Image Added


This brings forward the following popup window:

Image Modified


Explanation: 

  • The Agent is assigned an Agent ID which is a : A unique identifier for this Agent that cannot be modified during the lifetime of an Agent. Change of the Agent ID requires the removal of and re-addition of the Agent with the JOC Cockpit. It is not necessary to uninstall/reinstall the Agent.
  • The Agent Name is a unique identifier that is used for example in the Configuration view to assign Agents to jobs. The Agent Name can be modified later on.
  • In addition, you can add Agent Alias Names to make the same Agent available by different names.
  • of the Agent. Uniqueness is applied for all Agents registered with the same Controller. This identifier cannot be changed later on.
  • Agent Name: The name of an Agent is used for example when assigning the Agent to jobs. Similarly to the Agent ID the Agent Name has to be unique but can be changed later on.
  • Title: An individual description that can be searched for.
  • URL: The protocol HTTP or HTTPS, host name or IP address and port by which the Agent is accessible to the ControllerThe Agent URL includes the protocol, the hostname and port for which the Agent is operated.

Further References

...