Add flavor tables to API database + online data migration

Registered by Vineet Menon on 2015-06-22

Cellsv2 need to store flavor information for booting an instance. Since this
information will live at the cell API, tables related to flavors need to be
created in API DB.

There also needs to be an online data migration on flavor access from the cell DB to the API DB.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Medium
Drafter:
Vineet Menon
Direction:
Approved
Assignee:
Dan Smith
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-1
Started by
John Garbutt on 2015-07-15
Completed by
Matt Riedemann on 2016-04-04

Related branches

Sprints

Whiteboard

Still too much to resolve for these to merge today. --johnthetubaguy 2nd September 2015

Addressed by: https://review.openstack.org/190147
    Add flavor tables to API database

Addressed by: https://review.openstack.org/231858
    Add flavor tables to API database; resubmitted for mitaka

Pending patches
=============

Gerrit topic: https://review.openstack.org/#q,topic:bp/flavor-cell-api,n,z

Addressed by: https://review.openstack.org/201606
    Add flavor* tables to API database

Addressed by: https://review.openstack.org/213041
    Flavor object which support both DB with active migration

Marked as partially implemented --johnthetubaguy 2nd March 2016

Addressed by: https://review.openstack.org/293758
    Use the api database fixture in tests

This isn't complete in mitaka, we got the new flavor tables in the API DB schema but not the online data migration or nova-manage CLI, we need to continue working on that new Newton. -- mriedem 20160116

Addressed by: https://review.openstack.org/293761
    Re-propose: Add Flavor tables to API Database

Addressed by: https://review.openstack.org/294184
    Make Flavor.get operations prefer the API database

Addressed by: https://review.openstack.org/294252
    Make FlavorList.get_all() return results from the API and main DBs

Addressed by: https://review.openstack.org/294313
    Make Flavor access routines work against API database

Addressed by: https://review.openstack.org/294710
    Make flavor extra_specs operations work against the API DB

Addressed by: https://review.openstack.org/294758
    Make Flavor create() and destroy() work against API DB

Addressed by: https://review.openstack.org/294771
    Add flavor migration routine

Addressed by: https://review.openstack.org/295310
    Block flavor creation until main database is empty

Addressed by: https://review.openstack.org/296103
    Objectify test_instance_type_extra_specs

Addressed by: https://review.openstack.org/296104
    Objectify some tests in test_compute and test_flavors

Addressed by: https://review.openstack.org/296105
    Objectify test_flavors and test_flavors_extra_specs

Addressed by: https://review.openstack.org/296106
    Further hack up the nova.tests.unit.db.fakes module of horribleness

Addressed by: https://review.openstack.org/296023
    Add a DatabasePoisonFixture

Addressed by: https://review.openstack.org/298452
    DNM: Canary to sniff out what postgres' problem is

Addressed by: https://review.openstack.org/299625
    Handle pre-migration flavor creation failures in the crusty old API

Gerrit topic: https://review.openstack.org/#q,topic:sins-of-the-father,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.