Add registry migration guard timeout settings
🔭 What does this MR do and why?
We are in the process of migrating all container repositories to the new container registry. There is a background worker, the ContainerRegistry::Migration::GuardWorker
that periodically checks (via a cron) currently running imports and pre-imports. If an import or pre-import is taking too long, it will cancel the import.
Currently the "too long" aspect is hardcoded as 10 minutes. As we start to import very large container repositories containing more than a few hundred tags, we have realized this limit is too small for pre-imports. This replaces the hardcoded value with two application setting values:
container_registry_pre_import_timeout
container_registry_import_timeout
By making these application settings, it allows us to work with the delivery and infrastructure teams to adjust them as the migration behavior changes (the migration process is going to take a few months time). See #360790 (closed) for more details.
I've placed the use of these new settings behind a new feature flag to be extra safe since we cannot afford to have the migration delayed.
💿 Database
Please see the output of the migrations job and database testing job
Screenshots or screen recordings
N/A
How to set up and validate locally
N/A
🛃 MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related: #360790 (closed)