Story #7120
Updated by pulpbot over 2 years ago
**Ticket moved to GitHub**: "pulp/pulpcore/1915":https://github.com/pulp/pulpcore/issues/1915 ---- ## Background Zero downtime migrations are needed for the following reasons: * the operator facilitating the current upgrade process will be very difficult. Do-able but difficult * downtime is very undesirable * the installer struggles to support this today, and as it moves more into clustered installs it will become increasing complex So the goal is to take the current upgrade process with is: 1. Stop all services 2. Upgrade code 3. Run migrations 4. Start all services To one like this: 2. Upgrade code 3. Run migrations 4. Restart all services ## Proposal Have pulpcore and plugin writers ship migrations which require zero-downtime. ## How to do this? These articles outline it pretty well, but basically you need to split the migration into additive and destructive changes. https://wxweekly.com/zero-downtime-deploys-a-tale-of-django-migrations-7a040f425e4a https://pypi.org/project/django-pg-zero-downtime-migrations/ ## The work to accomplish this 1) Reach agreement with the pulp community through the mailing list 2) Add to the plugin writer docs this requirement 3) Add the migration checks to the CI recommended in https://wxweekly.com/zero-downtime-deploys-a-tale-of-django-migrations-7a040f425e4a