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:
- available to Open Source License holders and to commercial license holders.
- for details see JS7 - Management of Standalone Controllers.
- Use of Controller Clusters:
- available to commercial license holders,
For a Controller Cluster initial operation includes
- applying the license key and licensed binary code.
- registering the Controller Cluster and Agents.
Prerequisites
Initial Operation requires that a JS7 Controller, Agent and JOC Cockpit have been successfully installed and are up and running.
- Note that a Controller Cluster requires two Controller instances to be installed.
- For details see JS7 - Installation
- The steps for initial operation are the same for all supported platforms:
Controller Cluster Checks
Checking the Controller ID
Both Controller instances in a cluster have to be installed with the same Controller ID, which is a unique identifier for the Controller Cluster.
Changing the Controller ID requires reinstallation of the Controller instances by carrying out the following steps for each instance:
- Stop the Controller service:
- Unix, Windows: Stop the Controller from the command line, see JS7 - Controller - Command Line Operation.
- Windows: Stop the Controller from the Windows service panel.
- Remove Controller journal files:
- The journal files have to be removed from the configuration directory with the
state
sub-directory. 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\*
- Unix:
- Note that a different location for the configuration directory can be specified during installation.
- The journal files have to be removed from the configuration directory with the
- Modify the Controller ID:
- Users can modify the Controller Instance Start Script that holds the environment variable:
JS7_CONTROLLER_ID=<controller-id>
- Unix: The Controller ID is specified with the
bin/controller_instance.sh
Instance Start Script, see JS7 - Controller - Headless Installation on Linux/Windows. - Windows: The Controller ID is specified with the
bin\controller_instance.cmd
Instance Start Script.
- Unix: The Controller ID is specified with the
- For Windows users can run the graphical installer to reinstall the Controller, see JS7 - Controller - Installation Using the Windows Graphical Installer.
- Users can modify the Controller Instance Start Script that holds the environment variable:
- Restart the Controller instance.
Checking the Cluster Settings
The secondary Controller has to use the following configuration from its config/controller.conf
file, see JS7 - Controller Configuration Items:
js7.journal.cluster.node.is-backup=yes
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:
- Unix, Windows: Stop the Controller from the command line, see JS7 - Controller - Command Line Operation.
- Windows: Stop the Controller from the Windows service panel.
- Remove Controller journal files:
- The journal files have to be removed from the configuration directory with the
state
sub-directory. 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\*
- Unix:
- Consider that a different location for the configuration directory can be specified during installation.
- The journal files have to be removed from the configuration directory with the
- Modify the the
config/controller.conf
file to reflect the js7.journal.cluster.node.is-backup=yes
setting. - Restart the Controller instance.
Adding License Key and Licensed Binary Code
Customers holding a commercial license receive a license key from SOS and can download the binary code that allows clustering of JS7 components, see JS7 - Download.
The steps required are summarized below, for details see JS7 - How to apply a JS7 License Key
Handling for Installation on premises
The following chapters can be skipped if a license key was added when using the Windows installer for the Controller. However, the steps described are required when a license key for an existing installation is to be added or replaced without updating the Controller.
Adding a License Key
- 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 with
license
sub-directory.- Default location:
/var/sos-berlin.com/js7/controller/config/license
- A different location for the configuration directory can be specified during installation.
- Default location:
- Windows: Controller Configuration Directory with
license
sub-directory.- Default location:
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.
- where
- A different location for the configuration directory can be specified during installation.
- Default location:
- Unix: Controller configuration directory with
Adding Licensed Binary Code
- 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 users consent with the license terms for a commercial license of JS7.
- The
js7-license.jar
file has to be stored to the following location:- Unix: Controller installation directory with
lib/user_lib
sub-directory:- Default location:
/opt/sos-berlin.com/js7/controller/lib/user_lib
- A different location for the installation directory can be specified during installation.
- Default location:
- Windows: Controller installation Directory with
lib\user_lib
sub-directory:- Default location:
C:\Program Files\sos-berlin.com\js7\controller\lib\user_lib
- A different location for the installation directory can be specified during installation.
- Default location:
- Unix: Controller installation directory with
Handling for Docker® Installation
Basically the same locations for license key and licensed binary code apply as explained for Unix operating systems in previous chapters.
Note: 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 started.
Adding a License Key
- The license key can be added by storing the license certificate file in the following location:
/var/sos-berlin.com/js7/controller/config/license
- The directory
/var/sos-berlin.com/js7/controller
is typically mounted from a Docker var volume when running the container, for details see JS7 - Controller Installation for Docker Containers
Adding Licensed Binary Code
- 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 users consent with the license terms for a commercial license of JS7.
- The
js7-license.jar
file has to be stored in the following location:/var/sos-berlin.com/js7/controller/config/lib
- The directory
/var/sos-berlin.com/js7/controller
typically is mounted from a Dockervar
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 thejs7-license.jar
file.
On start-up the Controller checks the above directory for existence of the js7-license.jar
file. If the file is found then
- the file will be copied to
/opt/sos-berlin.com/js7/controller/lib/user_lib
- any existing version of the file in this directory will be overwritten.
Initial Operation
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 additional firewall rules to allow access to the port from the computer that the user's browser is operated for.After initial installation of JOC Cockpit the default user account
root
and passwordroot
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.
Register Controller and Agents
After successful login to JOC Cockpit a dialog window for registering a Controller is displayed. Users will find the same dialog later on via the Manage Controllers/Agents view.
Users have a choice to register a Standalone Controller (within scope of the Open Source License) or a Controller Cluster for high-availability (within scope of the JS7 Commercial License, see JS7 - License).
Register Controller Cluster
A Controller Cluster implements high-availability for automated fail-over should a server node operating the Controller instance become unavailable.
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 is displayed with the JS7 - Dashboard view.
- URL for JOC Cockpit: Primary and Secondary Controller instances are accessed by this URL from JOC Cockpit.
- The URL 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 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 a unique identifier. Uniqueness is applied for all Agents registered with the same Controller. The Agent ID cannot be modified during the lifetime of an Agent. Changes to the Agent ID require the Agent to be removed and re-added with JOC Cockpit.
- 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.
- Agent URL: The protocol HTTP or HTTPS, host name or IP address and port by which the Agent is accessible to the Controller.
- By default the HTTP protocol is used. The HTTPS protocol can be used if TLS/SSL certificates are in place, see JS7 - Agent HTTPS Connections.
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.
- to the Secondary Controller host and port.
- Primary Controller connection
- to the Secondary Controller host and port.
- to the Cluster Watcher Agent host and port.
- Secondary Controller connection
- to the Primary Controller host and port.
- to the Cluster Watcher Agent host and port.
For more information about network connections see JS7 - System Architecture.
Register Agents
After the connection between JOC Cockpit and the Controller is established users can add Agents.
The icon in the JOC Cockpit main menu offers to select the Manage Controllers/Agents view:
To add a Standalone Agent users can start from the Controller's action menu to which the Agent should be added:
This brings forward the following popup window:
Explanation:
- Agent ID: A unique identifier 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 Controller.
Further References
- Installation
- Operation
- Configuration