Add Geo automated end-to-end replication tests
## Problem Geo doesn't have end-to-end replication tests, see https://gitlab.com/gitlab-org/gitlab/-/issues/392980. They could catch [obvious, severe bugs](https://gitlab.com/gitlab-org/gitlab/-/issues/410224), so we should add them. ## Proposal @nwestbury has begun developing a replication tester which can be used to benchmark replication latency in different deployment scenarios. This tester can be used to perform end-to-end QA testing as well, since it depends on working replication. Alternatively, we could add more "GitLab QA" tests. For example, to avoid https://gitlab.com/gitlab-org/gitlab/-/issues/392980, they could check if a registry record is created and moves to "synced" and "verified". Geo QA tests can already be run per branch, so this route has low barrier to entry. - [x] Add 1 new QA test that creates a piece of data (like a project Git repo) on the primary site, and then queries the secondary site's `ProjectRepositoryRegistry`s with the GraphQL API until it shows up and becomes `synced` and `verification succeeded`. Allow for a very long timeout for now, e.g. 10 minutes. We can reduce it after gauging how the test behaves in CI and in the many other contexts in which QA tests are run. Weight 4. - [x] ~~Open an issue for adding a similar QA test but for an LFS object~~ I tested LFS object replication in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224618 - [x] Open an issue for adding a similar QA test but for a Container Repository => https://gitlab.com/gitlab-org/gitlab/-/work_items/593432 ## References How to run Geo QA tests: https://gitlab.com/groups/gitlab-org/geo-team/-/wikis/Running-Geo-End-to-End-QA-Tests (yes we should migrate this into gitlab or gitlab-qa or gitlab-development-kit docs)
issue