Geo: Handle main attribute in database_geo.yml
What does this MR do?
Resolves #337385 (closed) so we can rerevert omnibus-gitlab!5507 (merged) and unblock the sharding effort as soon as possible.
This has already been manually validated to work with the "main" attribute in geo.staging.gitlab.com #337361 (comment 640387890), as well as in my GDK.
How to setup and validate locally (strongly suggested)
- In a Geo secondary site
- Open the
config/database_geo.yml
file - Insert an intermediate
main:
attribute between the Rails environment (production:
,development:
, etc) and the connection info. See !65243 (diffs) as an example - Restart Rails processes
- The Rails processes should be able to connect to the Geo tracking database as usual
- Note that this initializer code is also compatible with the old style of
database_geo.yml
as well. You can test that by removing themain:
attribute.
Does this MR meet the acceptance criteria?
Conformity
- [-] I have included changelog trailers, or none are needed. (Does this MR need a changelog?)
- [-] I have added/updated documentation, or it's not needed. (Is documentation required?)
-
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) - [-] I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?)
-
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.)