Closed
Milestone

Upgrade Gitlab to latest version

Determine route for upgrading the OS gitlab is currently on to Ubuntu 24.04 on Hyper-V

Potential areas of concern:

  • Create a VM with RHEL9.7 on Hyper-V
  • Migrate Gitlab 17.7.7 from RHEL7.9 on VMware to new RHEL9.7 HyperV VM - https://code.rc.uab.edu/rc/gitlab/-/issues/17
  • Move backend storage away from GPFS4
    • Repository (git_data_dirs) move to GPFS5 /gpfs/project/gitlab-data
    • LFS to S3
    • Backups to S3
  • postgres db
    • backup
    • Move backups to S3 - (Still requires a local staging directory, NFS mounted gitlab-backup fileset)
  • Upgrade to the latest Gitlab version (we are currently at 17.7.7) - Dependent on https://code.rc.uab.edu/rc/gitlab/-/issues/17
    • 2026-04-02 - 17.7.7 => 17.8.7 => 17.11.7
    • 2026-04-09 - 17.11.7 => 18.2.8
    • 2026-04-16 - 18.2.8 => 18.5.5 => 18.8.9 => 18.9.5
    • 2026-04-23 - 18.5.5 => 18.8.9 => 18.9.5

Per the Gitlab upgrade path calculator, the upgrade from 17.7.7 to 18.9.5 involves 6 upgrades. image

17.7.7 => 17.8.7 => 17.11.7 => 18.2.8 => 18.5.5 => 18.8.9 => 18.9.6

We might consider upgrading in batches, like:

  • 17.7.7 => 17.8.7 => 17.11.7
  • 17.11.7 => 18.2.8
  • 18.2.8 => 18.5.5
  • 18.5.5 => 18.8.9 => 18.9.5

OpenSSL v3 Upgrade

With GitLab 17.7, the Linux package upgrades OpenSSL from from v1.1.1w to v3.0.0. Before upgrading, use the OpenSSL 3 guide to identify and assess the compatibility of your external integrations.

Multi-node architectures: new encryption secrets introduced in 17.8

In GitLab 17.8, three new secrets have been added to gitlab-secrets.json to support the new encryption framework used in GitLab versions >17.9. If you have a multi-node configuration, you must ensure the secrets are the same across all nodes after upgrading.

Potential PG::CheckViolation Background Migration Failure

Upgrading to GitLab 18.9 might fail with a PG::CheckViolation error during the AddNotNullConstraintToPoolRepositoriesOrganizationId post-deployment migration. See workaround details and more information in issue 590848.

There's also a warning in the Change Notes for Gitlab 18 concerning upgrading PostGres from v14 to v16. Since we are single server, this will happen automatically.

Issues to be aware of when upgrading from 17.11 PostgreSQL 14 is not supported starting from GitLab 18. Upgrade PostgreSQL to at least version 16.5 before upgrading to GitLab 18.0 or later. For more information, see installation requirements.

Automatic database version upgrades only apply to single node instances when using the Linux package. In all other cases, like Geo instances, PostgreSQL with high availability using the Linux package, or using an external PostgreSQL database (like Amazon RDS), you must upgrade PostgreSQL manually. See upgrading a Geo instance for detailed steps.

To be precise, Gitlab 17.7.7 includes PostGres 14.17

$ /opt/gitlab/embedded/bin/postgres --version
postgres (PostgreSQL) 14.17
  • Work items 0
  • Merge requests 0
  • Participants 0
  • Labels 0
Loading
Loading
Loading
Loading
100% complete
100%
Start date
No start date
None
Due date
No due date
0
Work items 0
Open: 0 Closed: 0
0
Merge requests 0
Open: 0 Closed: 0 Merged: 0
0
Releases
None
Reference: rc%"Upgrade Gitlab to latest version"