regression: mailroom fails to start with 17.1 due to `uninitialized constant Gitlab::Redis::ConfigGenerator`

Summary

Beginning with 17.1.0, mailroom fails to start with

bundler: failed to load command: mail_room (/opt/gitlab/embedded/bin/mail_room)
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/redis/wrapper.rb:186:in `redis_store_options': uninitialized constant Gitlab::Redis::ConfigGenerator (NameError)

        final_config = Gitlab::Redis::ConfigGenerator.new('Redis').generate(decrypted_config)
                                    ^^^^^^^^^^^^^^^^^
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/redis/wrapper.rb:141:in `db'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:114:in `redis_config'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:90:in `fetch_config'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:82:in `block in configs'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:82:in `to_h'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:82:in `configs'
        from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/mail_room.rb:64:in `enabled_configs'
        from /opt/gitlab/embedded/service/gitlab-rails/config/mail_room.yml:4:in `<main>'
        from /opt/gitlab/embedded/lib/ruby/3.1.0/erb.rb:905:in `eval'
        from /opt/gitlab/embedded/lib/ruby/3.1.0/erb.rb:905:in `result'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/gitlab-mail_room-0.0.25/lib/mail_room/configuration.rb:18:in `initialize'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/gitlab-mail_room-0.0.25/lib/mail_room/cli.rb:44:in `new'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/gitlab-mail_room-0.0.25/lib/mail_room/cli.rb:44:in `initialize'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/gitlab-mail_room-0.0.25/bin/mail_room:5:in `new'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/gitlab-mail_room-0.0.25/bin/mail_room:5:in `<top (required)>'
        from /opt/gitlab/embedded/bin/mail_room:25:in `load'
        from /opt/gitlab/embedded/bin/mail_room:25:in `<top (required)>'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli/exec.rb:58:in `load'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli/exec.rb:58:in `kernel_load'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli/exec.rb:23:in `run'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli.rb:455:in `exec'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli.rb:35:in `dispatch'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/cli.rb:29:in `start'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/bundler-2.5.11/exe/bundle:28:in `block in <top (required)>'
        from /opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
        from /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/bundler-2.5.11/exe/bundle:20:in `<top (required)>'
        from /opt/gitlab/embedded/bin/bundle:25:in `load'
        from /opt/gitlab/embedded/bin/bundle:25:in `<main>'

Results of GitLab environment info

Expand for output related to GitLab environment info
System information
System: 
Current User:   git
Using RVM:      no
Ruby Version:   3.1.5p253
Gem Version:    3.5.11
Bundler Version:2.5.11
Rake Version:   13.0.6
Redis Version:  7.0.15
Sidekiq Version:7.1.6
Go Version:     unknown

GitLab information Version: 17.1.0 Revision: 35cd573d799 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 15.6 Using LDAP: no Using Omniauth: yes Omniauth Providers:

GitLab Shell Version: 14.36.0 Repository storages:

  • default: unix:/run/gitlab/gitaly/gitaly.socket GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell

Gitaly

  • default Address: unix:/run/gitlab/gitaly/gitaly.socket
  • default Version: 17.1.0
  • default Git Version: 2.45.1