Upgrading from a previous version

Prerequisites

If clustering of the database is desired, an external database is required.
PhenixID Service will then use the external database that's configured (see below).

An installed version of PAS with version number 3.2 or lower on at least two nodes.
The current installation is configured as a cluster.
PhenixID Server version 4.0 installation media.

Note:
Upgrading will require a total stop of the authentication service.

Overview

When setting up a PhenixID cluster, two service will be involved:
PhenixID Service (clustering of sessions and configuration)
Database service (clustering of the database)

NOTE:
This document will cover installation and configuration of the PhenixID authentication service, when upgrading from previous version.

Cluster the PhenixID Service

Please follow this document for the upgrade.

NOTE:
Do not start the service until all configuration has been done. For both the PhenixID service as well as the Database service.

For versions earlier than 3.2:

When the upgrade is done, we need to remove the startup parameters used for clustering in earlier versions of PhenixID Server (-cluster -cluster-host -cluster-port).
These parameters are not used for cluster in version 3.2 and later.


On Linux, remove these parameters from the startup script.
Example:
sudo ./start-PhenixID.sh -cluster -cluster-host <ip_address_of_local_machine> -cluster-port 47000
should just be:
sudo ./start-PhenixID.sh


On Windows, a change of the service can be done using the command SC:
sc config phenixid binPath= "C:\Program Files\PhenixID\Server\bin\phenixidservice.exe"
or through the registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\phenixid

Locate the "ImagePath" subkey and change the value.

Example of Windows service before and after removing the parameters:

When the startup parameters have been removed, verify the settings in the file /classes/cluster.xml.
Making sure that tcp-ip enabled is set to true and that ip adress/port is set correctly.

See example below.
This file should not change during the upgrade, this step is only for verification.

<network>
    	<public-address>192.168.0.11</public-address>
        <port auto-increment="false" port-count="1">5701</port>
        <outbound-ports>
            <!--
            Allowed port range when connecting to other nodes.
            0 or * means use system provided port.
            -->
            <ports>0</ports>
        </outbound-ports>
        <join>
            <tcp-ip enabled="true">
                <interface>192.168.0.11</interface>
                <member-list>
                    <member>192.168.0.12</member>
                </member-list>
            </tcp-ip>
            <multicast enabled="false"/>
            <aws enabled="false"/>
        </join>
        <interfaces enabled="true">
            <interface>192.168.0.11</interface>
        </interfaces>
    </network>

When done on both nodes, sessions and PAS configuration will be clustered between the nodes.
Verify the log at first startup, making sure that the nodes are communicating correctly.

Before starting the nodes, make sure that database is setup and configured in boot.json, according to this document:

Database