Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Formatting

...

...

...

...

...

...

...

...

Info
This article is valid from Hermod 3.1.1.

This article describes how to upgrade

...

the Smart ID Messaging component Hermod.

...


Expand
titlePrerequisites
  • Docker compose or Kubernetes installation of Hermod. See Install Hermod.

Step-by-step instruction

Download new release

Expand
titleDownload new Hermod release

Download the new Hermod docker image and file structure from Nexus support portal. 

  1. Log in to Nexus Support portal.
  2. Go to Nexus Personal > Nexus Personal Messaging server and click a Hermod version to download the *.zip file. 
  3. Unpack the *.zip file.
  4. Open the folder which was extracted, for example 3.x.y.RELEASE.


Expand
titleLoad docker image

The docker image can be loaded locally to each machine, or to the docker registry, and used remotely from several machines.

  1. To load the released docker image locally on the target host, see this example:

    Note

    This does not work for Kubernetes deployments where the image must be hosted in a docker registry.


    Code Block
    languagetext
    titleExample: Load docker image
    > docker load -i hermod-3.x.y.RELEASE.tar


  2. If you have a docker registry, load the image there.

Docker-compose installation

Expand
titleUpdate docker compose configuration

Update your docker compose configuration with the new Hermod version:

  1. Edit the configuration file docker-compose.yml and update the hermod/image element with the correct version.

    Example file path: example/compose/hermod/docker-compose.yml

    Code Block
    titleExample: docker-compose.yml
    version: '2'
    
    services:
    
    ....
    
      hermod:
        image: nexusgocontainerregistry.azurecr.io/nexus-personal/hermod:3.1.1.RELEASE
       
    ....



Expand
titleUpdate Hermod configuration if required

To update the Hermod configuration:

  1. Edit the configuration file config/application.yml (config/cod-hermod.yml might be a link) with any new/updated values for your environment. Required updates will be available in the release notes.

    Example file path: example/compose/hermod/config/application.yml


Expand
titleUpdate database if required

Each release of Hermod contains SQL files per vendor/release in Flyway compatible format. No database updates are required as long as these files have not changed between versions. Required updates will be found in the release notes.

  1. If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).


Expand
titleStart Hermod
  1. Start Hermod with the following command:

    Code Block
    languagetext
    titleExample: Start hermod
    > docker-compose up -d hermod
    > docker-compose logs -f


Kubernetes installation

Expand
titleUpdate Kubernetes deployment file

Update your Kubernetes deployment file with the new Hermod version:

  1. Edit the deployment file hermod-deployment.yml and update the container/image element with the correct version.

    Example file path: hermod-deployment.yml

    Code Block
    titleExample: hermod-deployment.yml
    version: '2'
    
    services:
    
    ....
    
          spec:
            containers:
            - args: 
              image: nexusgocontainerregistry.azurecr.io/nexus-personal/hermod:3.1.1.RELEASE
       
    ....



Expand
titleUpdate Hermod configuration if required

To update the Hermod configuration:

  1. Edit the Kubernetes configuration file for Hermod, for example, hermod-configuration.yml with any new/updated values for your environment. Required updates will be available in the release notes.

    Code Block
    languagetext
    titleExample: Reapply Hermod configuration
    > kubectl apply -f hermod-configuration.yml



Expand
titleUpdate database if required

Each release of Hermod contains SQL files per vendor/release in Flyway compatible format. No database updates are required as long as these files have not changed between versions. Required updates will be found in the release notes.

  1. If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).


Expand
titleStart Hermod
  1. Reapply the Hermod deployment file in Kubernetes with the following command:

    Code Block
    languagetext
    titleExample: Start hermod
    > kubectl apply -f hermod-deployment.yml


  2. Kubernetes will make sure that the new container starts, redirect any on-going traffic and thereafter shutdown the previous version.

Upgrade Hermod from versions earlier than 2.4.1

Expand
titleImportant notes for the upgrade
  • The Docker image has been renamed. The 'host' part is changed to nexusgocontainerregistry.azurecr.io 
  • If you are updating Hermod from a version earlier than 2.4.1 to version 2.4.1 or higher, and are using Microsoft SQL Server you must alter the aliases table to use nvarchar instead of varchar for alias_name. This is required in order to be able to support unicode characters in the userid. This only applies to Microsoft SQL Server.

    Note

    IMPORTANT - this requires alter table to be executed. See V2.4.1__aliases_column.sql for sqlserver found in the release.


Upgrade Hermod from versions earlier than 2.5.1

Expand
titleImportant notes for the upgrade

New indexes have been added for better performance. 

  • If you are upgrading Hermod from a version earlier than 2.5.1 to version 2.5.1 or higher, make sure you run V2.5.1__new_indexes.sql

Upgrade Hermod from versions earlier than 3.1.1

Expand
titleImportant notes for the upgrade

A new database table has been added. 

  • If you are upgrading Hermod from a version earlier than 3.1.1 to version 3.1.1 or higher, make sure you run V3.1.1__lifesign_table.sql

Upgrade Hermod from 2.x to 3.x

For more information, see Upgrade Hermod from 2.x to 3.x

...

.

Related information