Testing async pages operations
This is a test plan for serveral uses of the Gitlab::PagesTransfer
that have been wrapped in the PagesTransferWorker
which moves pages directories on shared storage:
(In order of ag
)
Operation | Issue | feature flag |
---|---|---|
Transferring a project to another namespace | #235757 (closed) | async_pages_move_project_transfer |
Renaming a project's path | #235802 (closed) | async_pages_move_project_rename |
Renaming a project's direct parent namespace path | #235808 (closed) | async_pages_move_namespace_rename |
Renaming a group that has an indirect project-child with pages | #235808 (closed) | async_pages_move_namespace_transfer |
Removing a project that has pages | #230694 (closed) & #239318 (closed) | async_pages_removal |
-
Transferring a project. -
Rename project path (in group). -
Rename project path (in user). -
Rename parent path (in group). -
Rename parent path (in user). -
Rename grandparent path (in group). -
Transfer group from subgroup to top-level group. -
Transfer group from top-level group to subgroup. -
Stress test 1 (renaming one path to the old path for another). -
Stress test 2 (consecutive rename). -
Remove Pages from a project. -
Remove a project with Pages.
Stress tests
Because these operations are now async, there are more chances for race conditions (although these were already possible).
- Rename one project and concurrently rename another project to the first one's original path. (If we have projects A and B, we could rename A -> C and B -> A as close as possible.)
- Rename the same project twice in a row. If we have a project A, then go A -> B -> C as quickly as possible (probably using the API?).
- Same with namespaces?
Edited by Sean McGivern