Fix MailRoom not loading in Omnibus

What does this MR do and why?

!155546 (merged) introduced Gitlab::Redis::ConfigGenerator. Omnibus has a tight coupling with the Rails code because:

  1. It loads config/mail_room.yml, which is actually an ERB file.
  2. This then loads lib/gitlab/mail_room, which requires code inside lib/gitlab/redis.

However, since MailRoom doesn't start Rails, startup can fail if not all the required modules are loaded.

As a short-term fix, load redis/config_generator to fix this issue.

Relates to #468467 (closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Set up Service Desk or Incoming Email on Omnibus. For example, in /etc/gitlab/gitlab.rb:
gitlab_rails['incoming_email_enabled'] = true
gitlab_rails['incoming_email_address'] = "stanhu+%{key}@REDACTED.com"
gitlab_rails['incoming_email_email'] = "stanhu@REDACTED.com"
gitlab_rails['incoming_email_inbox_method'] = 'microsoft_graph'
gitlab_rails['incoming_email_inbox_options'] = {
   'tenant_id': 'REDACTED',
   'client_id': 'REDACTED',
   'client_secret': 'REDACTED',
   'poll_interval': 61  # Optional
}
  1. Run gitlab-ctl reconfigure.
  2. See the error described in #468467 (closed).
  3. Apply this patch, mail_room should start again.
Edited by Stan Hu

Merge request reports

Loading