Introduction

  • The JS7 - Download page provides information and links to download current releases of the product. For the initial installation procedure see the JS7 - Installation articles.
  • Any updates or upgrades are performed using the .tar.gz/.zip installation archive files provided for the initial installation of newer releases. Instructions provided by the JS7 - Installation section apply to updates and upgrades.
  • JS7 follows semantic versioning, with the wording for Updates and Upgrades being applied as follows:
    • Update to newer JS7 releases: switch to a maintenance release within the same branch, for example within minor release 2.2
      • update from 2.2.1 to 2.2.2
      • update from 2.2.0 to 2.2.2 (the latest maintenance release includes any fixes of previous maintenance releases)
    • JS7 - Upgrade to newer JS7 minor releases: switch to a newer minor release, for example from minor release 2.1 to 2.2
      • upgrade from 2.1.0 to 2.2.0
      • upgrade from 2.1.1 to 2.2.2

Update

Compatibility

Before updating users should identify the version in use by JS7 products and the indicated compatibility, see JS7 - Compatibility Indicator.

Applicability

  • In most situations the JOC Cockpit and the Controller are not required to use the same maintenance release.
    • A newer JOC Cockpit maintenance release 2.2.2 can be operated with an older Controller maintenance release 2.2.1.
  • Existing Agents can continue to be operated with newer Controller maintenance releases within the same minor release:
    • An older Agent maintenance release 2.2.1 will work with a Controller maintenance release 2.2.2.
    • A newer Agent maintenance release 2.2.2 will not work with a Controller maintenance release 2.2.1.

The above rules generally apply. However, such rules can differ for specific minor/maintenance releases.

The information of the JS7 - Compatibility Indicator about compatibility is authoritative.

Order of Products

  • First, update the JOC Cockpit.
  • In a second step, update Controller(s) and Agents.

Update Procedure for Use of Container Images

The following procedure applies to container images for the JOC Cockpit, Controller and Agents:

Note that the above procedure does not apply if you build your own images, see the JS7 - Build Container Images article for more information. Consider mapping the steps explained in the Update Procedure for Headless Installation On Premises article.

Update Procedure for Installation On Premises

Procedures include that updates can be performed automatically using installation scripts:

In addition, users can choose to manually update as explained by the installation instructions.

Both options are indicated with the below update procedures.

JOC Cockpit

  • Refer to the instructions in the JS7 - JOC Cockpit Installation On Premises article.
  • Make a backup of the JOC Cockpit's installation directory.
  • Option 1: Automated Update
  • Option 2: Manual Update
    • Extract the installation archive .tar.gz/.zip file. It will create a sub-directory that includes the maintenance release number, for example joc.2.2.2.
      • Users can re-use an existing joc_install.xml installer response file from a previous installation for the same minor release.
      • Consider copying additional resources to the directory of the extracted installer archive, for example, to joc.2.2.2:
        • any JDBC Drivers that you downloaded individually for installation with a previous JOC Cockpit release,
        • the Hibernate configuration file that holds the database connection and that has been used for a previous installation,
        • the JS7 license key *.pem file if JS7 is operated with a Commercial License.
    • Stop the JOC Cockpit daemon (Linux) or service (Windows) of any JOC Cockpit instances using the same database.
    • Run the JOC Cockpit installer:
      • Invoke the installer script in the same way as for installation of a previous release, for example:
        • ./setup.sh|.cmd joc_install.xml
        • ./setup.sh|.cmd -u joc_install.xml
    • Start the JOC Cockpit daemon (Linux) or service (Windows).

Controller

  • Refer to the JS7 - Controller Installation On Premises article.
  • Make a backup of the Controller instance's installation directory.
  • Suspend all orders.
  • Stop the Controller:
    • Standalone Controller
      • Stop the Controller instance's daemon (Linux) or service (Windows).
    • Controller Cluster
      • Take a note which Controller instance is the active node before stopping Controller instances.
      • Stop both Controller instances' daemon (Linux) or service (Windows).
      • Stop the Cluster Watch Agent daemon (Linux) or service (Windows) if an Agent is used as a Cluster Watch.
  • Option 1: Automated Update
  • Option 2: Manual Update
    • Extract the .tar.gz/.zip installation archive file from a neutral directory not related to the current Controller installation. This will create a sub-directory that includes the maintenance release number, for example controller.2.2.2.
    • Move or remove the lib sub-directory from the existing Controller installation directory.
    • Copy the lib and bin sub-directories from the extracted installer archive to the Controller instance's installation directory. This will replace the previous lib sub-directory and will overwrite the existing bin sub-directory from the new release. The Controller's instance start script that can contain individual settings is not included with the installer archive and therefore will not be overwritten, see JS7 - Controller - Command Line Operation for more information.
    • For a Controller Cluster
      • consider performing this step for both Controller instances.
      • update the Cluster Watch Agent as explained below and start the Cluster Watch Agent if an Agent is used as a Cluster Watch. This step is not performed if JOC Cockpit is used as a Cluster Watch.
  • Start the Controller.
  • Update Agents.
  • Resume all orders.

Agent

  • Refer to the JS7 - Agent Installation On Premises article.
  • Make a backup of the Agent's installation directory.
  • Suspend orders related to the Agent in question.
  • Stop the Agent
    • Standalone Agent
      • Stop the Agent instance's daemon (Linux) or service (Windows). This can be performed using the Agent's installation scripts.
    • Cluster Agent
      • Take a note which Director Agent instance is the active node before stopping Agent instances.
      • Stop the Primary and Secondary Director Agent instance's daemon (Linux) or service (Windows).
  • Option 1: Automated update
  • Option 2: Manual Update
    • Extract the .tar.gz/.zip installer archive file from a neutral directory not related to the current Agent installation. This will create a sub-directory that includes the maintenance release number, for example agent.2.2.2.
    • Move or remove the lib sub-directory from the existing Agent installation directory.
    • Copy the lib and bin sub-directories from the extracted installer archive to the Agent's installation directory. This will replace the previous lib sub-directory and will overwrite the existing bin sub-directory from the new release. The Agent's instance start script that can contain individual settings is not included with the installer archive and therefore will not be overwritten, see JS7 - Controller - Command Line Operation for more information.
    • For an Agent Cluster consider performing this step for all Agent instances in the cluster.
  • Start the Agent.

Troubleshooting

Controller Cluster

Should some of the steps to update/upgrade a Controller explained above have been missed, for example, if the Secondary Controller is still active while the Primary Controller is updated or upgraded, then the Cluster can become unavailable. In this situation apply the following procedure:

  • Determine the Controller instance that is active.
  • Stop both Controller instances.
  • From the Controller instance that was previously the active node copy the contents of the  state directory to the directory of the same name for the Controller instance that was previously the standby node. This operation can be considered a manual step for synchronization of the Controller Cluster.
  • Start both Controller instances.

Agent

Should some of the steps to update/upgrade an Agent explained above have been missed, then Reset the Agent having updated/upgraded the Agent's installation directory.

The user account's menu in the right upper corner of all JOC Cockpit pages offers the Manage Controller/Agents operation:


The relevant Controller/Agent management page provides a reset operation for Agents:


Explanation:

  • The Reset operation comes in two flavors:
    • Reset: the Agent is requested to perform a restart. This operation is applicable if no orders have been started or are running with the Agent.
    • Reset Forced: the Agent is forced to kill any running tasks, to perform a restart and to drop its journal. The Controller will then re-deploy scheduling objects such as workflows to the Agent.
  • The Reset operation can require 10 to 60 seconds depending on the time required to stop and to start the Agent.