This document describes the steps required for upgrading a stand-alone Security Server host from Ubuntu 20.04 LTS host to Ubuntu 22.04 LTS. Please read carefully through the whole document before starting the upgrade process. It is assumed that the reader is familiar with the Ubuntu Linux distribution and has experience of Ubuntu release upgrades.

If the Security Server host to be updated has older Ubuntu version than Ubuntu 20.04, the update to 20.04 version should be done first for example Security Server Ubuntu 18.04 to 20.04 In-place Upgrade.

With the upgrade to Ubuntu 22.04 LTS, PostgreSQL is updated from version 12 to 14.

Alternative method: Upgrading Security Server to Ubuntu 22.04 Using a Configuration Backup

Preparations

If upgrading a system that uses a hardware security module: Please verify that the HSM is compatible with Ubuntu 22.04 and check the HSM module documentation for upgrade instructions.

Upgrading Ubuntu 20.04 to 22.04

Upgrading the X-Road software

Upgrade the database

Update the X-Road package repository to point to the Ubuntu 22.04 packages

Update the apt repository:

sudo apt-add-repository -r "deb https://artifactory.niis.org/xroad-release-deb focal-current main"
sudo apt-add-repository "deb https://artifactory.niis.org/xroad-release-deb jammy-current main"
(alternatively, edit /etc/apt/sources.list directly)

Upgrade the packages

sudo apt update && sudo apt full-upgrade

Then enable and start xroad services again. Although enable does not work with wildcards, so the services being enabled need to be listed all manually:

sudo systemctl enable xroad-addon-messagelog.service xroad-base.service xroad-confclient.service xroad-monitor.service xroad-opmonitor.service xroad-proxy-ui-api.service xroad-proxy.service xroad-signer.service

Services can be started with:

sudo systemctl start "xroad-*" --all

Verify that the security server services are running and the system is responding

systemctl list-units "xroad-*" "postgresql@*"

UNIT                       LOAD   ACTIVE SUB     DESCRIPTION
postgresql@14-main.service loaded active running PostgreSQL Cluster 14-main
xroad-base.service         loaded active exited  X-Road initialization
xroad-confclient.service   loaded active running X-Road confclient
xroad-monitor.service      loaded active running X-Road Monitor*
xroad-opmonitor.service    loaded active running X-Road opmonitor daemon*
xroad-proxy.service        loaded active running X-Road Proxy
xroad-proxy-ui-api.service loaded active running X-Road Proxy UI REST API
xroad-signer.service       loaded active running X-Road signer

* if the monitoring addon(s) are installed

Drop old database and obsolete packages

After verifying that the database upgrade was successful, drop the old database and remove obsolete PostgreSQL packages.

sudo pg_dropcluster 12 main
sudo apt purge postgresql-12
sudo apt autoremove

Troubleshooting