2. Upgrade¶
Note
Hub versions 1.18+ have additional requirements
If an upgrade is being performed from a version < 1.18 please note changes in the Installation and Upgrade guides
Ensure to review the Product Interoperability Matrix and align software versions accordingly.
Note
Hub versions 2.3+ have additional requirements
If an upgrade is being performed from a version < 2.30 please note changes in the Installation and Upgrade guides
Prior LDAP connections require to be re-authenticated, or preferably via Kerberos. Ensure to review the Active Directory LDAP and Kerberos sections applying the preferred setup accordingly.
2.1. Before you start¶
Before upgrading, you must wait for any pending or active jobs to complete, otherwise they may be lost or present an incorrect future state.
Scheduled workflows must be temporarily disabled prior to upgrading to prevent new jobs being submitted during the upgrade process.
2.2. Backup Workflows¶
Ngenea Hub ships with some default workflows. New releases may make changes to these workflows, so any customisations to them may be lost during upgrade. For safety, workflows should be backed-up before upgrading.
The easiest way to backup workflows is using ngclient or by using Ngenea Hub backup management command Backing Up HUB Static Configurations
ngclient workflows list > workflows_backup.json
See NGCLIENT-WORKFLOWS for more information.
2.3. Stop Services¶
Note
Hub versions 2.1+ have additional requirements
When upgrading Hub 2.1+, the additional service ngenea-worker-frontend.path is required to be actioned
First, shutdown Ngenea Worker on all nodes
systemctl stop ngenea-worker
Note that any Ngenea Worker packages pre-1.12.0 will use the older syntax:
systemctl stop ngenea-worker@SITENAME
Then shutdown Ngenea Hub
systemctl stop ngeneahub
systemctl stop ngeneahub-frontend.path
Warning
Not stopping the workers before upgrading may result in jobs being stuck as PENDING
.
If this happens, restarting the workers using systemctl restart ngenea-worker
will allow jobs to start running again.
2.4. Upgrade Packages¶
Download the latest RPMs from the Download page.
Upgrade Ngenea Hub
yum upgrade ngenea-hub-<version>.rpm
As with Installation, for offline situations, the Ngenea Hub base and image rpms can be upgraded with
rpm -Uvh ngenea-hub-<version>.rpm ngenea-hub-images-<version>.rpm
Upgrade Ngenea Worker on all nodes
yum upgrade ngenea-worker-<version>.rpm
2.5. Upgrade Configurations¶
Warning
If upgrading from Ngenea Hub version 1.17 or older, you must convert worker configuration to 1.18+ format. Please refer to the appropriate worker configuration and worker join steps as described in Ngenea Worker. Installation of the worker is not required as this has been achieved in the prior Upgrade Packages step.
Ngenea Hub versions 2.3+ have additional requirements. If an upgrade is being performed from a version < 2.30 please note changes in the Installation and Upgrade guides Prior LDAP connections require to be re-authenticated, or preferably via Kerberos. Ensure to review the Active Directory LDAP and Kerberos sections applying the preferred setup accordingly.
2.6. Restart Services¶
First, startup Ngenea Hub
systemctl start ngeneahub
systemctl start ngeneahub-frontend.path
Then start Ngenea Worker on all nodes
systemctl start ngenea-worker
If any scheduled workflows were disabled, they can now safely be re-enabled.
2.7. Validation¶
Check the status of the Ngenea Hub service with:
ngeneahubctl status
systemctl status ngeneahub-frontend.path
Check the status of Ngenea Worker service with
systemctl status ngenea-worker
2.8. Restoring Workflows¶
Check the workflows post-update. If there are any issue or inconsistencies with the upgraded workflows, they can be restored from the backup created pre-upgrade. This is also done using ngclient
.
Any workflow which is missing can be re-imported using
ngclient workflows import <workflow_file>
Any workflow which has changed can be restored using
ngclient workflows update <id> <workflow_file>
Note, ngclient
only allows importing or updating single workflows at a time. The workflow_file
passed to the above commands must only contain a single workflow definition.