GitLab QA (end to end tests) test coverage for decomposed database
Since !78182 (merged) we are now running CI decomposed pipeline with 2 databases.
We should configure gitlab-qa
pipelines also run fully decomposed by configuring 2 Postgres databases and setting the same environment variables.
Testing strategy
The gitlab-qa
should provision two environments and configure them accordingly:
- Environments:
-
- CNG (GitLab Helm Charts): https://gitlab.com/gitlab-org/charts/gitlab
- Each of those should be tested in following modes:
-
- Single database (as we do today, and a default for on-premise)
-
- Decomposed, but pointing to the single database (CI configuration enabled, but not using a dedicated database)
-
- Decomposed, but pointing to multiple logical databases (CI configuration enabled, and using a dedicated database)
Equivalence of testing modes compared to how GDK is configured:
- Single database:
gitlab.rails.databases.ci.enabled=false
andgitlab.rails.databases.ci.use_main_database=false
- Decomposed, point to single database:
gitlab.rails.databases.ci.enabled=false
andgitlab.rails.databases.ci.use_main_database=true
- Decomposed, point to multiple logical databases:
gitlab.rails.databases.ci.enabled=true
andgitlab.rails.databases.ci.use_main_database=false
Note: The testing scenarios was written by @ayufan. Reach out him for more clarification if needed.
Plan
v1 iteration
- Configure orchestrated scenario for Sharding and add it to
package-and-qa
job - https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1247- Provides Omnibus Docker coverage and ability to validate env with decomposed databases in MRs
Tasks
-
Add scenario for decomposed database - done gitlab-qa!918 (diffs) thanks to Nick and Dan! -
Add decomposition QA job to the package-and-qa
- opened WIP MR gitlab-qa!940 (merged) -
Validate that pipeline is passing - gitlab-qa!940 (comment 949370972) -
Release a new GitLab QA version once the MR!940 is merged - gitlab-qa!943 (merged)
v2 Iteration
- Build framework to run orchestrated scenarios against CNG environments - https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1246
- Once the ground work is done, we can schedule sharding specific work
Future iteration (TBD)
- Run GitLab QA by default against a decomposed database - ~%16.0 (Based on https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1247#note_900293380) - https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1361
Edited by Nailia Iskhakova (OOO)