Draft: Full POC of organization data replication with GDK cells
What does this merge request do and why?
Part of gitlab#571916 (closed)
Part of gitlab#546267
This is the full POC MR with all gdk org commands to support organization migration between cells using Geo replication. This enables testing the organization migration workflow in a local GDK environment.
For incremental review, this is being split into smaller MRs:
-
!5676 -
replication-statuscommand (ready for review) -
!5677 -
configure-replicationcommand (ready for review) - More MRs to follow
New commands
| Command | Description |
|---|---|
gdk org configure-replication |
Configure Geo replication between source and target cells |
gdk org start-replication |
Start replicating organization data to target cell |
gdk org stop-replication |
Stop the replication process |
gdk org replication-status |
Check replication status (use --wait to block until complete) |
gdk org cutover |
Complete the migration and switch traffic to target cell |
gdk org delete |
Delete organization data from source cell after migration |
gdk org rollback-replication |
Rollback replicated data |
New support scripts
-
support/cells/create-org-test-data- Creates test organization with users, groups, and projects -
support/cells/verify-org-migration- Verifies organization data was migrated correctly -
support/cells/org-migration-install- End-to-end install and test script (runs in CI)
CI job
A new org-migration-install CI job tests the full organization migration workflow, similar to the geo-install job.
How to set up and validate locally
Option 1: Automated (recommended)
Run the end-to-end script which installs GDK from scratch:
# Set your license (required - Premium or Ultimate)
export GITLAB_ACTIVATION_CODE="your-activation-code"
# OR
export GITLAB_LICENSE_FILE="/path/to/license.gitlab-license"
# Optional: customize branches (these are the defaults)
export GDK_BRANCH="mk/gdk-org-configure-replication"
export GITLAB_BRANCH="mk/org-migration-target"
# Run from an empty directory
mkdir org-migration-test && cd org-migration-test
# Download and run the script
curl -fsSL "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/mk/gdk-org-configure-replication/support/cells/org-migration-install" -o org-migration-install
chmod +x org-migration-install
./org-migration-install
Option 2: Manual setup
See the detailed manual setup instructions in the MR diff for doc/howto/cells.md.
Related MRs
- !5672 (closed) - Fix geo-install CI (merged)
- gitlab!219850 - GitLab: Implement behavior of org migration target cell
Merge request checklist
- This MR references an issue describing the change.
- This change is backward compatible.
- Tests added for new functionality. If not, raise an issue to follow-up.
- Documentation added/updated.
Edited by Michael Kozono