Skip to content

Add registry migration guard timeout settings

Steve Abrams requested to merge 360790-guard-thresholds into master

🔭 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.

Related: #360790 (closed)

Edited by Steve Abrams

Merge request reports