Introduction

There can be situations when a Controller Cluster should be reverted to act as a Standalone Controller:

  • In case of an architecture decision to continue with a Standalone Controller.
  • In case of severe loss of journal data, for example if journals of one of the Controller instances and of the Cluster Watch Agent have not been consistently written to disk or are not available after a server crash or file system crash.

Reverting a Controller Cluster to a Standalone Controller offers to re-instate the Cluster at any later point in time, see JS7 - How to convert a Standalone Controller to a Controller Cluster.

Reverting the Controller Cluster

Stopping the Controller Cluster

As a prerequisite both active and standby Controller instances have to be terminated.

Reverting the Controller Journal

Users decide which Controller instance should become the Standalone Controller to continue operations.

  • In most situations this will be the previously active Controller instance.
  • Users should remove the journal of the Controller instance that is no longer in use. More precisely users should remove the contents of the unused Controller instance's state folder. This measure prevents a situation when later on the unused Controller instance will be started by chance and will invite the Standalone Controller instance to re-establish the cluster.

Reverting the journal of the Controller instance that should be used as a Standalone Controller is performed with the following command:

Reverting the Controller Journal for Unix
# reverting Controller journal for Unix with no running Controller instances
./controller_instance.sh revert
Reverting the Controller Journal for Windows
@rem reverting Controller journal for Windows with no running Controller instances
./controller_instance.cmd revert


Explanation:

  • Running the above script will remove any cluster related items from the Controller instance's journal.
  • This allows the Controller instance to be started as a Standalone Controller.
  • Standalone Controllers
    • do not connect to a Cluster Watch Agent,
    • do not connect nor can be connected to/from a second Controller instance acting in a standby role.

Configuring the Standalone Controller

The Controller's administrative menu is invoked from the JOC Cockpit user interface as follows:


From the list of Controllers displayed users select the "Edit" action menu item for the respective Controller:


When editing the Controller configuration one of the following popup windows is displayed.

Using JOC Cockpit as Cluster Watch

If JOC Cockpit is assigned the Cluster Watch role then the popup window looks like this:


JOC Cockpit can be assigned the Cluster Watch role starting from this release:

FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.2

Using an Agent as Cluster Watch

If an Agent is assigned the Cluster Watch role then the popup window looks like this:

Reverting the Cluster

The Standalone and Cluster radio buttons determine the Controller type. Users modify the Controller type to Standalone and enter the URL of the Controller instance that should be used as a Standalone Controller like this:


At the point in time when submitting the changes the Controller will not be started. Therefore the Test Connection button cannot be used.

Starting the Standalone Controller

With the Controller type being modified to Standalone, users can start the Standalone Controller from the command line like this:

Starting the Standalone Controller for Unix
# starting the Standalone Controller for Unix from the command line
./controller_instance.sh start

# starting the Standalone Controller for Unix from systemd
sudo systemctl start controller.service
Starting the Standalone Controller for Windows
@rem starting the Standalone Controller for Windows from the command line
.\controller_instance.cmd start

@rem starting the Standalone Controller Windows Service from the command line
.\controller_instance.cmd start-service

@rem alternatively the Standalone Controller can be started from the Windows Service Panel

Further Resources