Check-config issue after upgrade to Gitlab 18.2
Hi,
I have a self hosted Gitlab instance installed on Rocky Linux 9, using the packaged version provided via dnf. After upgrading my instance from version 18.0.2 to 18.2.1, the command gitlab-ctl check-config returns an error:
# gitlab-ctl check-config
/opt/gitlab/embedded/cookbooks/package/libraries/deprecations.rb:93:in `applicable_deprecations': undefined method `empty?' for nil:NilClass (NoMethodError)
incoming_version = next_major_version if incoming_version.empty?
^^^^^^^
version_manifest = JSON.load_file("/opt/gitlab/version-manifest.json")
from /opt/gitlab/embedded/cookbooks/package/libraries/deprecations.rb:111:in `check_config'
from /opt/gitlab/embedded/service/omnibus-ctl/check_config.rb:51:in `block in load_file'
from /opt/gitlab/embedded/lib/ruby/gems/3.2.0/gems/omnibus-ctl-0.6.12/lib/omnibus-ctl.rb:197:in `block in add_command'
from /opt/gitlab/embedded/lib/ruby/gems/3.2.0/gems/omnibus-ctl-0.6.12/lib/omnibus-ctl.rb:747:in `run'
version_manifest = JSON.load_file("/opt/gitlab/version-manifest.json")
from /opt/gitlab/embedded/lib/ruby/gems/3.2.0/gems/omnibus-ctl-0.6.12/bin/omnibus-ctl:31:in `<top (required)>'
from /opt/gitlab/embedded/bin/omnibus-ctl:25:in `load'
from /opt/gitlab/embedded/bin/omnibus-ctl:25:in `<main>'
A quick fix to avoid this error was to edit the file /opt/gitlab/embedded/cookbooks/package/libraries/deprecations.rb and change the line 111:
- incoming_version = next_major_version if incoming_version.empty?
+ incoming_version = next_major_version if incoming_version && incoming_version.empty?
But I am not ruby developer, so I am not sure this fix is relevant: is it normal that incoming_version was nil in the first place ?
Thanks in advance for your help, Regards