Projects::AfterRenameService should update Pages via Sidekiq
When a project gets renamed its associated pages directory, if the project has pages, must be renamed on disk. This is because pages does not have hashed storage.
In light of &3980 (closed) we want to make sure that such renames on disk only happen from Sidekiq.
Owners
- Team: ~"team::Scalability"
- Most appropriate slack channel to reach out to:
#g_scalability
- Best individual to reach out to: @smcgivern
Expectations
What are we expecting to happen?
We expect Pages directories to be moved on disk in Sidekiq, not Puma, when a project changes its path.
What might happen if this goes wrong?
We could have a case where a project has been renamed, but its Pages are in the wrong place. Or where a project failed to rename, but its Pages did get moved. However, those could already happen, as we don't check the return value of Gitlab::PagesTransfer#rename_project
in Projects::AfterRenameService
.
What can we monitor to detect problems with this?
The new Sidekiq worker does check the return value and will raise in that case, so we want to check the Sidekiq logs. We also want to check Sentry to see the Gitlab::Pages::Settings::DiskAccessDenied
errors go away for this caller.
Roll Out Steps
-
Enable on staging -
Test on staging -
Enable on GitLab.com for individual groups/projects listed above and verify behaviour -
Coordinate a time to enable the flag with #production
and#g_delivery
on slack. -
Announce on the issue an estimated time this will be enabled on GitLab.com -
Enable on GitLab.com by running chatops command in #production
-
Announce on the issue that the flag has been enabled -
Remove feature flag and add changelog entry -
After the flag removal is deployed, clean up the feature flag by running chatops command in #production
channel