nova/releasenotes/notes/flavors-moved-to-api-database-b33489ed3b1b246b.yaml
Dan Smith 17a8e8a68c Block flavor creation until main database is empty
This makes Flavor.create() fail until the main database has had all
of its flavors migrated. Since we want to avoid any overlap or clashes
in integer ids we need to enforce this. The flavor API was poorly
designed in that it exposes this internal id. Luckily, flavor creation
is infrequent and flavor migration is fast.

The flavors in our database are hard-coded in the first migration,
which means we have to basically do the migration during every
unit test in order to avoid having a legacy environment. Since that
leaves us with deleted flavors in the DB (which screws up the DB
archiving tests), this adds a hard_delete flag to the migration to
do an actual purge of those from our database. What a mess.

Related to blueprint flavor-cell-api

Depends-On: I8ab03af9d2f4974f26a7f8487ec978caea957e45
Change-Id: Iea063448f43da1043d16dd521d255dd29a0e1bc5
2016-04-01 11:16:01 -07:00

14 lines
749 B
YAML

---
upgrade:
- Flavors are being moved to the API database for CellsV2. In this
release, the online data migrations will move any flavors you have
in your main database to the API database, retaining all
attributes. Until this is complete, new attempts to create flavors
will return an HTTP 409 to avoid creating flavors in one place that
may conflict with flavors you already have and are yet to be
migrated.
- Note that flavors can no longer be soft-deleted as the API
database does not replicate the legacy soft-delete functionality
from the main database. As such, deleted flavors are not migrated
and the behavior users will experience will be the same as if a
purge of deleted records was performed.