Neutron DB Migration Refactor

Registered by Henry Gessau

Currently the neutron database schema is dependent on the neutron configuration. It differs depending on core plugin and services configured. This makes DB migrations not idempotent, as configurations can change between versions.

We need to make the database schema independent of configuration, and heal old versions to the independent schema after Icehouse.

Proposal:
- Include all tables (all service tables and all plugin tables) unconditionally from now on
- Provide a "healing" script and/or migration to convert an existing Icehouse DB to the new schema

Also:
- Improve Unit and Functional testing for migrations

Whiteboard

2-Jun (mestery): Picking Juno-2 as the target for this work.

Gerrit topic: https://review.openstack.org/#q,topic:bp/db-migration-refactor,n,z

Addressed by: https://review.openstack.org/96438
    WIP: Script

Addressed by: https://review.openstack.org/102857
    WIP: Add module providing icehouse models

Addressed by: https://review.openstack.org/76520
    WIP: Implement ModelsMigrationsSync test from oslo.db

Addressed by: https://review.openstack.org/110588
    Move brocade db models to separate file

Addressed by: https://review.openstack.org/110589
    Move bigswitch db models to separate file

Addressed by: https://review.openstack.org/110590
    Move cisco db models to separate file

Addressed by: https://review.openstack.org/110591
    Move embrane db models to separate file

Addressed by: https://review.openstack.org/110592
    Move hyperv db models to separate file

Addressed by: https://review.openstack.org/110593
    Move linuxbridge db models to separate file

Addressed by: https://review.openstack.org/110594
    Move metaplugin db models to separate file

Addressed by: https://review.openstack.org/110595
    Move ml2 db models to separate file

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.