Upgrading Chef

Chef is a major part of omnibus-gitlab, and periodically needs to be updated. Follow these steps to upgrade to the latest version and verify the functionality.

Upgrade steps

  1. Create a new branch in omnibus-gitlab

    git switch -c upgrade-chef-to-X
    
  2. Update the appropriate software entries in config/templates/omnibus-gitlab-gems/Gemfile.
  3. In the config/templates/omnibus-gitlab-gems directory, run bundle update for the updated gems:

    bundle update chef ohai
    
  4. Update entries in Gemfile to the new version. At a minimum, the chef and ohai entries will need to be updated.
  5. Update the bundle

    1. If this is a major version upgrade
    bundle update chef ohai
    
    1. If this is a minor version upgrade
    bundle update chef ohai --conservative
    

    It may be necessary to chase down errors related to dependencies being upgraded

  6. Commit the changes

    git add config/templates/omnibus-gitlab-gems/Gemfile{,.lock}
    git add Gemfile{,.lock}
    git commit
    git push
    
  7. Ensure the pipelines pass on GitLab.com
  8. Trigger an EE package pipeline to ensure we get a gitlab-qa run
  9. When available, trigger an HA validation job
  10. Check QA jobs for the package pipeline, and the HA validation job, ensure pipelines are green, or any failures are unrelated.
  11. Push to omnibus-gitlab on dev.gitlab.org and ensure the package builds on all platforms
  12. Download a package to a dev environment, and verify you can upgrade from an older version of omnibus-gitlab, to the newer package
  13. Verify a Geo installation is successful using the newer package

Bonus points

  1. Read through the Changelog and Release notes, identify any improvements, new features, or bug fixes which may apply to omnibus and open follow up issues