GitLab 14 specific changes

When upgrading to a new major version, remember to first check for background migrations.


Removing support for running Sidekiq directly instead of sidekiq-cluster

In GitLab 13.0, sidekiq-cluster was enabled by default and the sidekiq service ran sidekiq-cluster under the hood. However, users could control this behavior using sidekiq['cluster'] setting to run Sidekiq directly instead. Users could also run sidekiq-cluster separately using the various sidekiq_cluster[*] settings available in gitlab.rb. However these features were deprecated and are now being removed.

Starting with GitLab 14.0, sidekiq-cluster becomes the only way to run Sidekiq in omnibus-gitlab installations. As part of this process, support for the following settings in gitlab.rb is being removed:

  1. sidekiq['cluster'] setting. Sidekiq can only be run using sidekiq-cluster now.

  2. sidekiq_cluster[*] settings. They should be set via respective sidekiq[*] counterparts.

  3. sidekiq['concurrency'] setting. The limits should be controlled using the two settings sidekiq['min_concurrency'] and sidekiq['max_concurrency'].

Removing support for using Unicorn as web server

In GitLab 13.0, Puma became the default web server for GitLab, but users were still able to continue using Unicorn if needed. Starting with GitLab 14.0, Unicorn is no longer supported as a webserver for GitLab and is no longer shipped with the omnibus-gitlab packages. Users must migrate to Puma following documentation to upgrade to GitLab 14.0.

Consul upgrade

The Consul version has been updated from 1.6.10 to 1.9.6 for Geo and multi-node PostgreSQL installs. Its important that Consul nodes be upgraded and restarted one at a time.

See our Consul upgrade instructions.

Automatically generating an initial root password

Starting with GitLab 14.0, GitLab automatically generates a password for initial administrator user (root) and stores this value to /etc/gitlab/initial_root_password. For details, see the documentation on initial login.

PostgreSQL 11 and repmgr removal

The binaries for PostgreSQL 11 and repmgr have been removed.

Prior to upgrading, administrators using Omnibus GitLab must:

  1. Ensure the installation is using PostgreSQL 12
  2. If using repmgr, convert to using patroni

Redis configuration changes

Two configuration options for Redis were deprecated in GitLab 13 and removed in GitLab 14:

  • redis_slave_role is replaced with redis_replica_role
  • redis['client_output_buffer_limit_slave'] is replaced with redis['client_output_buffer_limit_replica']

Redis Cache nodes being upgraded from GitLab 13.12 to 14.0 that still refer to redis_slave_role in gitlab.rb will encounter an error in the output of gitlab-ctl reconfigure:

There was an error running gitlab-ctl reconfigure:

The following invalid roles have been set in 'roles': redis_slave_role