Two node in-place upgrade on Windows - CustomerID without Wildfly Upgrade

PLEASE NOTE!

Please note that the information in this Knowledge Base has not undergone extensive testing or verification by our Engineering team. While this article offers valuable insights, it may not guarantee flawless solutions for your specific Identity Server environment and configuration.

Please contact your Ubisecure partner and/or Ubisecure Support team to obtain more information.

Two node upgrade process

The idea is to keep one node of CID running and perform upgrade on master node first. 

Complete the upgrade process for the master node. Then switch over traffic to this upgraded node and start performing upgrade on remaining (slave node) node.  

Follow the steps in order. Issue all commands in Windows command prompt using the Administrator user account.

Traffic Switchover : Make sure all traffic is going to only to SSO Node2 And CID Node2

Stop ubiloginserver service in SSO Node1 and stop wildfly sevice in CID Node1. (Ensure you don't stop widfly service on CID Node2 during this process, as it will fail to start as master on CID node1 will be down).

It is good idea to take periodic backups of running installations

  1. Back up Ubisecure Directory. See instructions from Backup and restore Ubisecure Directory - SSO.
  2. Back up Ubisecure CustomerID. See instructions from Backup And Restore - CustomerID

Perform on Ubisecure CustomerID Master Node (Node1) 

  1. Unpack the distribution package. See instructions from Distribution package unpacking on Windows - CustomerID.
  2. Check Java. See instructions from Java check on Windows - CustomerID.

Perform once on CustomerID Master Node (Node1)

  1. Rename old C:\Program Files\Ubisecure\customerid folder to C:\Program Files\Ubisecure\customerid_bkp
  2. Extract the deployment template. See instructions from Deployment template extraction on Windows - CustomerID.
  3. Copy configuration files from old  customerid_bkp to new customerid, and setup.
    1. Transfer the following folder from the old C:\Program Files\Ubisecure\customerid_bkp\application\custom to the new one under: C:\Program Files\Ubisecure\customerid\application
    2. Transfer the following file from the old C:\Program Files\Ubisecure\customerid_bkp\application\win32.config to the new one in the same location
    3. On the master, go through each setting in C:\Program Files\Ubisecure\customerid\application\win32.config and compare to the configuration template for the new version in C:\Program Files\Ubisecure\customerid\application\config\win32.config
      1. Add settings missing from the previous version, refer to Setup template on Windows - CustomerID for existing options
      2. Check settings related to the versions of 3rd party software: database.driver.file
      3. Run setup script

        setup
        cd /D "%PROGRAMFILES%\Ubisecure\customerid\application\"
        setup.cmd

Perform once for the whole Ubisecure CustomerID cluster (CID Master Node)

  1. Perform database schema update depending on versions.
  2. When upgrading from CustomerID version 5.6.x or older update CustomerID LDAP entries to facilitate REST API OAuth2 authentication. See LDAP import instructions from SSO management web applications creation on Windows - CustomerID.

Perform on Ubisecure SSO Master Node(Node1) 

  1. Upgrade PostgreSQL JDBC driver to SSO node(s). See instructions from PostgreSQL JDBC driver installation to SSO on Windows - CustomerID.
  2. Upgrade Ubisecure CustomerID SSO Adapter to SSO node(s). See instructions from CustomerID SSO Adapter extension upgrade

Perform on the CustomerID Master Node (Node1) 

  1. Undeploy the old Worker Enterprise Archive, CustomerID Enterprise Archive from the WildFly domain

    Verify existing worker, customerid Enterprise application(Replace x.x.x with current CID version):
    C:\Program Files\wildfly-21.0.2.Final\bin>jboss-cli.bat
    You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
    [disconnected /]
    [disconnected /] connect
    [domain@localhost:9990 /] deployment-info --name=cid-ear-x.x.x.ear
    NAME              RUNTIME-NAME
    cid-ear-x.x.x.ear cid-ear-x.x.x.ear
    
    SERVER-GROUP      STATE
    main-server-group enabled
    
    [domain@localhost:9990 /] deployment-info --name=cid-worker-ear-x.x.x.ear
    NAME                     RUNTIME-NAME
    cid-worker-ear-x.x.x.ear cid-worker-ear-x.x.x.ear
    
    SERVER-GROUP      STATE
    main-server-group enabled
    Undeploy existing worker, customerid Enterprise application:
    [domain@localhost:9990 /] undeploy --server-groups=main-server-group cid-ear-x.x.x.ear
    
    [domain@localhost:9990 /] undeploy --server-groups=main-server-group cid-worker-ear-x.x.x.ear
  2. Update JDBC data source to WildFly

    [domain@localhost:9990 /] deploy --name=cidpgdriver --force "%DATABASE_DRIVER_PATH%\\%DATABASE_DRIVER_FILE%\" (Values can be found in win32.config)
    
    E.g. [domain@localhost:9990 /] deploy --name=cidpgdriver --force "C:\\Users\\Admin\\Desktop\\customerid\\postgresql-42.3.1.jar"
  3. Deploy the Worker Enterprise Archive, CustomerID Enterprise Archive to the WildFly domain. See instructions from Two node deployment to WildFly on Windows - CustomerID.

Perform on Ubisecure CustomerID Master Node (Node1)

  1. Restart Ubisecure CustomerID. See instructions from  Restart on Windows - CustomerID.

Perform on Ubisecure SSO Master node (Node1)

  1. Restart Ubisecure SSO. See instructions from  Installation related SSO restart on Windows - CustomerID.

Traffic Switchover : After this step switch traffic to Master node

Stop  UbiloginServer service from Ubisecure SSO Node2 and stop  wildlfy service from CID slave node (Node2).

Verify application to confirm you can access SSO Management and CustomerID (Basic flows like login works and no problems to load data on screen). 

Perform next steps to upgrade remaining CID node.

Perform on Ubisecure SSO Node2

  1. Unpack the distribution package. See instructions from Distribution package unpacking on Windows - CustomerID.
  2. Upgrade PostgreSQL JDBC driver to SSO node(s). See instructions from PostgreSQL JDBC driver installation to SSO on Windows - CustomerID.
  3. Upgrade Ubisecure CustomerID SSO Adapter to SSO node(s). See instructions from CustomerID SSO Adapter extension upgrade.

Note : After this step you can start Ubiloginserver service in SSO Node2 to restore SSO HA setup.

Perform on CustomerID Slave Node (Node2)

  1. Check Java. See instructions from  Java check on Windows - CustomerID.
  2. Rename old C:\Program Files\Ubisecure\customerid folder to C:\Program Files\Ubisecure\customerid_bkp
  3. Transfer the installation folder from master node. See instructions from Two node installation folder transfer on Windows - CustomerID.
  4. Prepare WildFly for domain configuration. See instructions from Two node WildFly preparation on Windows - CustomerID
  5. Configure WildFly on CustomerID Slave Node. See instructions from Two node slave WildFly configuration on Windows - CustomerID
  6. Restart Ubisecure CustomerID. See instructions from Restart on Windows - CustomerID

Perform on Ubisecure SSO Node 2

  1. Restart Ubisecure SSO. See instructions from Installation related SSO restart on Windows - CustomerID.

Finalize Upgrade

Kindly verify customerid_diag.log file to see if both CID nodes are active and logs are getting printed for both CID nodes in logs.