crc: run migrations in a separate container #2372
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is this PR doing:
Moves migrations out of the init container on the API pod to a separate pod
Why:
The recent deployment of crc-2024-11-25 has introduced a lot of post-migration hooks that cause migrations to take at least an hour even if there are no migrations to apply. Since migrations are currently handled in the init container of the API pods this causes the scaling of the API to occur very slowly.
Using a Job or ClowdJobInvocation is not feasible, because the AppSRE tooling reconciles Jobs after other resource types. This is useful when a Job is utilized to run integration tests after a deployment, but makes it impossible for migrations to run in a Job before the other resources roll out.