Make consolidated object storage configuration a non-default option
What does this MR do?
This MR makes consolidated object storage a non-default option. Users must opt in for this option explicitly to use it.
There is also a new config check that ensures when consolidated form is enabled the object-specific configuration is not defined.
Related issues
Closes #2281 (closed)
Test plan
There are a number of cases for testing this:
object_store.enabled |
minio.enabled |
Specific storage enabled
|
Expected outcome |
---|---|---|---|
false |
true |
true (without any connection setting) |
- gitlab.yml.rb uses individual format- each enabled item uses minio |
false |
true |
true (some with connection settings) |
- gitlab.yml.rb uses individual format- enabled items with connection connection settings use the specified properties - enabled items without connection settings use minio |
false |
false |
true (all with connection settings) |
- gitlab.yml.rb uses individual format- enabled items with connection connection settings use the specified properties - enabled items without connection settings use nothing (Is this correct? Shouldn't it throw and error?) |
false |
false |
true (NOT all with connection settings) |
Config validation fails because of missing connection value |
true |
true |
false |
- gitlab.yml.rb uses consolidated format- list of objects is empty |
true |
true |
true (without any property) |
- gitlab.yml.rb uses consolidated format- objects list contains enabled items with default values for bucket and proxy_download
|
true |
true |
true (with valid override property: bucket and/or proxy_download ) |
- gitlab.yml.rb uses consolidated format- objects list contains enabled items with the specified values for bucket and proxy_download
|
true |
true |
true (with invalid override property, e.g. non-empty connection ) |
- fails in checkConfig
|
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened
Edited by Hossein Pursultani