Create a migration path away from using `background_uploader
Problem to solve
In GitLab 14.9 we deprecated using background_uploader
for uploading files to Object storage. The feature is scheduled for removal in 15.0.
We know that some Object Storage providers rely on background_uploader
. Examples include:
- OpenStack
- Rackspace
We need to create a migration path for impacted customers to ensure that they can continue to utilize GitLab. This needs to be in place before 15.0 is released.
Intended users
User experience goal
The customer should have a clearly defined and tested migration path from impacted Object Storage providers to other supported providers so that they can continue to use GitLab.
Proposal
Based on #26600 (comment 885519130) an initial proposal would be to
For each configured OpenStack Swift / Rackspace Cloud Files bucket:
- Create a replacement bucket using one of (AWS S3 or S3-compatible, Google Cloud Storage, Azure Blob Storage)
- Install rclone and use
rclone config
to create configurations for the old and new bucket - Run
rclone sync old-storage:old-bucket new-storage:new-bucket
- Take your GitLab server offline
- Run the rclone sync command again
- Update storage configuration for your GitLab server
Further details
More context is available in #26600 (comment 883496262)
Documentation
We need to create documentation that outlines the migration path in https://docs.gitlab.com/ee/administration/object_storage.html
Availability & Testing
The proposal needs to be tested before getting merged into the docs. We shouldn't provide advice before having verified it first.
Available Tier
- Free
- Premium/Silver
- Ultimate/Gold
Feature Usage Metrics
I am not sure we have metrics on who uses RackSpace / OpenStack but if possible we should measure this ahead of time and try to reach out to affected customers.
What does success look like, and how can we measure that?
Defined migration path for users of impacted Object Storage providers. s-stage-features -->