[RFE] Upgrade controllers with no API downtime
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
Currently pretty much every major upgrade requires full shutdown for all neutron-server instances for the time while upgrade process is running. The downtime is due to the need to run alembic scripts that modify schema and transform data. Neutron-server instances are currently not resilient to working with older schema. We also don't make an effort to avoid 'contract' migrations.
The goal of the RFE is to allow upgrading controller services one by one, without full shutdown for all of them in an HA setup. This will allow to avoid public shutdown for API for rolling upgrades.
The RFE involves:
- adopting object facades for all interaction with database models;
- forbidding contract migrations in alembic;
- implementing new contract migrations in backwards compatible way in runtime.
Changed in neutron: | |
importance: | Undecided → Wishlist |
tags: | added: rfe |
Changed in neutron: | |
status: | New → Confirmed |
summary: |
- Upgrade controllers with no API downtime + [RFE]Upgrade controllers with no API downtime |
summary: |
- [RFE]Upgrade controllers with no API downtime + [RFE] Upgrade controllers with no API downtime |
Changed in neutron: | |
status: | Confirmed → Triaged |
Changed in neutron: | |
milestone: | none → ocata-rc1 |
milestone: | ocata-rc1 → pike-1 |
Changed in neutron: | |
assignee: | nobody → Ihar Hrachyshka (ihar-hrachyshka) |
status: | Triaged → In Progress |
Changed in neutron: | |
milestone: | pike-1 → pike-2 |
Changed in neutron: | |
assignee: | Ihar Hrachyshka (ihar-hrachyshka) → nobody |
I was under the impression that the EXPAND branch could already be executed without shutting down the services. That said, the problem certainly lies with the CONTRACT branches. This feels like a rehash of parts of [1], and as such is part of a much larger solution required to accommodate a no downtime upgrade for the neutron servers. Looking at the DB alone won't suffice to ensure that requests are handled correctly during the upgrade. Please provide a more detailed plan, and break it down into chewable pieces for Newton. I suspect that once you do that the RFE title won't sound like 'Upgrade controllers with no API downtime'.
[1] https:/ /blueprints. launchpad. net/neutron/ +spec/online- schema- migrations