nova/tools
Matt Riedemann 9a84211729 Add DB2 support
Notes on migration changes/tests:

1. The initial havana migration does not create any foreign keys which
   require the instances.uuid column since it's nullable and DB2 won't
   allow creating a unique constraint over a nullable column. To create
   the foreign keys on instances.uuid, this change depends on commit
   e07a2b2d4b to make instances.uuid
   non-nullable and create a unique constraint on that column. Then
   the new migration here creates the missing instances.uuid
   related foreign keys for DB2.

2. Commit b930fb3a6b changed
   test_migrations.py to use oslo.db's opportunistic test fixture
   which currently only supports sqlite/mysql/postgresql. Unit test
   support for DB2 therefore needs to be added to oslo.db and then
   hooked into nova, but that's targeted for the 2016.1 'M' release
   so is not part of this change.

3. The 247_nullable_mismatch migration is updated for DB2 because
   making the pci_devices.deleted column nullable=True fails since
   the column is in a UniqueConstraint already (DB2 would require
   it to be in a unique index instead for the column to be nullable).
   There is a foreign key involved (created in 246) so for DB2 to
   have the same FKey it requires a UC and that requires the deleted
   column to be non-null, which doesn't work with the SoftDeleteMixin.
   So in this case the schema will diverge for DB2 until we make
   the deleted column non-nullable for all tables.

4. The 252_add_instance_extra_table migration is updated for DB2
   because a foreign key is created between the instance_extra
   table and the instances.uuid column (which is nullable at the
   time) so we have to handle that foreign key constraint creation
   in the 296 migration with the other foreign keys to
   instances.uuid.

5. The 271 migration is updated to add ibm_db_sa the same as
   sqlite and postgresql since it works the same in this case for
   DB2.

6. The API migrations need checks for DB2 to avoid a duplicate index
   SQL0605W error since DB2 implicitly creates an Index when a
   UniqueConstraint is created and will fail if trying to add a
   duplicate index on the same column(s) that are in the UC.

Implements blueprint db2-database

Change-Id: Ic4224e2545bcdfeb236b071642f9f16d9ee3b99f
2015-07-08 16:45:37 -07:00
..
db Add DB2 support 2015-07-08 16:45:37 -07:00
xenserver Switch to uuidutils from oslo_utils library 2015-02-25 20:05:49 -05:00
abandon_old_reviews.sh include python-novaclient in abandon policy 2014-12-08 16:11:08 -05:00
clean-vlans Remove vi modelines 2014-02-03 14:19:44 +00:00
colorizer.py Don't use dict.iterkeys() 2015-05-21 14:52:53 -07:00
enable-pre-commit-hook.sh Update OpenStack LLC to Foundation 2013-02-26 19:15:29 -05:00
install_venv_common.py Sync with latest oslo-incubator 2014-10-11 21:25:52 -04:00
install_venv.py Remove vi modelines 2014-02-03 14:19:44 +00:00
nova-manage.bash_completion add nova-manage bash completion script 2012-06-20 17:02:49 +02:00
pretty_tox.sh work around for until-failure 2015-01-16 14:24:29 -05:00
regression_tester.py Remove vi modelines 2014-02-03 14:19:44 +00:00
with_venv.sh support reloctable venv roots in testing framework 2013-02-07 12:38:45 -08:00