GitLab 17 breaking changes: Round 1
Adding a new check
This adds checks that are deprecated and 16.x and below and removed in 17.x. This resolves #82 (closed)
These include:
- Omnibus_gitconfig removal check #92 (closed)
- Sidekiq queue selector removal check #91 (closed)
- Ubuntu linux 18.04 EOL check #90 (closed)
- Gitaly Duplicate storage check #89 (closed)
- Sidekiq Min and Max concurrency removal check #88 (closed)
- Omniauth-azure-oauth2 removal check #87 (closed)
- Swift and OSS removed as registry storage drivers
Verification steps for review
Omnibus_gitconfig removal
- add
omnibus_gitconfigsection to `gitlab.rb - run
grep -E '^(\s*[^#]\s*)?omnibus_gitconfig' /etc/gitlab/gitlab.rb echo $?- should be
0 - comment out
omnibus_gitconfig - run grep again
- echo result again
- should be
1
Ubuntu linux 18.04 EOL
- Edit
/etc/lsb_releaseto addDISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"or spin up a 18.04 Ubuntu VM - run
grep -E 'Ubuntu 18.04' /etc/lsb-release echo $?- should be
0 - revert
lsb_releaseor upgrade OS to 20.04 or above - run grep again
- echo should now be
1
Gitaly Duplicate storage check
- Add a duplicate storage stanza. This can be pulled from old documentation
- run
storage_count=$(sed -rn "s|^\s*path: '(.*)',|\1|p" /etc/gitlab/gitlab.rb | uniq --count | awk '{print $1}'); test "$storage_count" -gt '1' -
echo $?should be 0 - comment out duplicate storage stanza
- run command again
- `echo $?" should be 1
Omniauth-azure-oauth2 removal check
- In omniauth config on
gitlab.rbaddazure_oath2asname: - run
grep -E "azure_oauth2" /etc/gitlab/gitlab.rb -
echo $?should be 0 - remove omniauth config
- run grep again
-
echo $?should be 1
Sidekiq Min and Max concurrency removal check:
- In
gitlab.rbof a sidekiq node addsidekiq['max_concurrency']and/orsidekiq['min_concurrency'] - run
grep -E "^(\s*[^#]\s*)?sidekiq\['max|min_concurrency'\]" /etc/gitlab/gitlab.rb -
echo $?should be 0 - remove or comment out added lines
- run grep again
-
echo $?should be 1
Sidekiq queue selector removal check:
- In
gitlab.rbof a sidekiq node addsidekiq['queue_selector'] = true - run
grep -e "^[[:space:]]*sidekiq\[\'queue_selector\'\][[:space:]]*=[[:space:]]*true" /etc/gitlab/gitlab.rb -
echo $?should be 0 - set to false, comment out or remove the added line
- run grep again
-
echo $?should be 1
Swift and OSS removed as Registry Storage check:
- In
gitlab.rbof rails/registry node add object storage configuration as below
registry['storage'] = {
'swift' => {
'oss' => {
- run
grep -Es '^\s*[^#]\s*(oss|swift)' /etc/gitlab/gitlab.rb -
echo $?will report 0 - remove or comment out the registry storage driver.
- run grep again
-
echo $?will report 1
Reviewer checklist
-
I followed the verification steps and can confirm the functionality of the new check -
This check does only perform read operations -
This check does not output more than necessary on stdout for the check to function -
The workaround_urlprovides actionable information/steps for affected users -
This check is not using the Rails console/runner, or got Maintainer approval for doing so -
If this is a breaking change check: -
It has the corresponding xx_breaking_changestag (xx being the major release version for the change) -
The workaround_urlgoes to the entry on the https://docs.gitlab.com/update/deprecations/ page -
The ref_urlgoes to the deprecation issue linked from that entry -
The titleis the same as that entry -
The version_startedis equal to theannouncement_milestoneof the deprecation -
The version_fixedis equal to theremoval_milestoneof the deprecation
-
Edited by Manuel Grabowski – PTO until 2026-01-01