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:

Verification steps for review

Omnibus_gitconfig removal

  1. add omnibus_gitconfig section to `gitlab.rb
  2. run grep -E '^(\s*[^#]\s*)?omnibus_gitconfig' /etc/gitlab/gitlab.rb
  3. echo $?
  4. should be 0
  5. comment out omnibus_gitconfig
  6. run grep again
  7. echo result again
  8. should be 1

Ubuntu linux 18.04 EOL

  1. Edit /etc/lsb_release to add DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS" or spin up a 18.04 Ubuntu VM
  2. run grep -E 'Ubuntu 18.04' /etc/lsb-release
  3. echo $?
  4. should be 0
  5. revert lsb_release or upgrade OS to 20.04 or above
  6. run grep again
  7. echo should now be 1

Gitaly Duplicate storage check

  1. Add a duplicate storage stanza. This can be pulled from old documentation
  2. run storage_count=$(sed -rn "s|^\s*path: '(.*)',|\1|p" /etc/gitlab/gitlab.rb | uniq --count | awk '{print $1}'); test "$storage_count" -gt '1'
  3. echo $? should be 0
  4. comment out duplicate storage stanza
  5. run command again
  6. `echo $?" should be 1

Omniauth-azure-oauth2 removal check

  1. In omniauth config on gitlab.rb add azure_oath2 as name:
  2. run grep -E "azure_oauth2" /etc/gitlab/gitlab.rb
  3. echo $? should be 0
  4. remove omniauth config
  5. run grep again
  6. echo $? should be 1

Sidekiq Min and Max concurrency removal check:

  1. In gitlab.rb of a sidekiq node add sidekiq['max_concurrency'] and/or sidekiq['min_concurrency']
  2. run grep -E "^(\s*[^#]\s*)?sidekiq\['max|min_concurrency'\]" /etc/gitlab/gitlab.rb
  3. echo $? should be 0
  4. remove or comment out added lines
  5. run grep again
  6. echo $? should be 1

Sidekiq queue selector removal check:

  1. In gitlab.rb of a sidekiq node add sidekiq['queue_selector'] = true
  2. run grep -e "^[[:space:]]*sidekiq\[\'queue_selector\'\][[:space:]]*=[[:space:]]*true" /etc/gitlab/gitlab.rb
  3. echo $? should be 0
  4. set to false, comment out or remove the added line
  5. run grep again
  6. echo $? should be 1

Swift and OSS removed as Registry Storage check:

  1. In gitlab.rb of rails/registry node add object storage configuration as below
registry['storage'] = {
 'swift' => {
 'oss' => {
  1. run grep -Es '^\s*[^#]\s*(oss|swift)' /etc/gitlab/gitlab.rb
  2. echo $? will report 0
  3. remove or comment out the registry storage driver.
  4. run grep again
  5. 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_url provides 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_changes tag (xx being the major release version for the change)
    • The workaround_url goes to the entry on the https://docs.gitlab.com/update/deprecations/ page
    • The ref_url goes to the deprecation issue linked from that entry
    • The title is the same as that entry
    • The version_started is equal to the announcement_milestone of the deprecation
    • The version_fixed is equal to the removal_milestone of the deprecation

Merge request reports

Loading