Hashed storage migration path
What does this MR do?
Implements function to migrate projects from Legacy storage to Hashed storage asynchronously.
This MR also backports from EE the repository_read_only
flag introduced as part of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/533
Are there points in the code the reviewer needs to double check?
Check if the way the migration is being made is safe / atomic.
Why was this MR needed?
For Geo we want to have all repositories using Hashed storage.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Review
-
Has been reviewed by UX -
Has been reviewed by Frontend -
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together
What are the relevant issue numbers?
Edited by Nick Thomas