Specify finalization stop when queueing batched background migrations
Standardize upgrade path information (#420831 - closed) suggests embedding required stop information in a required_stops.yaml
file.
We should pre-populate at least 1 future required stop in this file on a regular cadence, and modify queue_batched_background_migration
so that the developer must specify a milestone after the next required stop in the future when they expect to finalize their migration. This will have several benefits:
- it makes developers queueing background migrations think about when they will be finalized as an explicit action
- This information can be picked up by gitlab-housekeeper and used to generate finalization MRs.
- By only finalizing migrations at required stops, we reduce the risk of unplanned stops that increase support burden.
This has a downside of requiring that all batched background migrations of all sizes be finalized after a required stop. We can determine an exception process for migrations with small data volume where this unduly reduces development velocity.
Deliverables
-
Documentation is updated to reflect this as policy -
finalize_after defaults to a date after the next planned required stop
Edited by Alex Ives