Geo: Implement design management repository replication for organization migration
Problem
As part of organization migration from Legacy Cell to Protocell, Geo must replicate design Git repositories. But repository storages differ between cells, and repository storages are managed in the PG DB. Therefore PG replication requires some kind of special handling of repository storages. By chance, since design repos reuse the same storage as project repos, in this issue, the main task is testing.
Background
-
DesignManagement::Repository
delegates#repository_storage
to the associatedProject
. -
design_management_repositories
is currently already sharded byproject_id
- This issue is blocked by Geo: Implement project repository replication f... (#577735) because we will rely on
projects.repository_storage
being properly updated as part of replicatingprojects
data. This issue isn't a blocker after the transition to sharding bynamespace_id
though. - On migration, assuming the delegated
repository_storage
is working, Geo can sync design Git repos as normal.
Tasks for Geo Team
-
Classify this table as gitlab_main_org
(it is currentlygitlab_main_cell
) -
design_management_repositories
is transitioning to sharding bynamespace_id
, so we must transition at the same time -
Ensure there are sufficient automated (unit? QA?) tests to meet GitLab's standards -
Smoke test locally
Related
- Parent epic: Organization migration: Handle replicables of c... (&18601)
- Architecture decisions: #515383 (comment 2743597917)+
- At the moment, depends on: Geo: Implement project repository replication f... (#577735)
Edited by Michael Kozono