[openstack-dev] [nova] 3rd party CI requirements for DB2

Matt Riedemann mriedem at linux.vnet.ibm.com
Wed May 14 13:58:54 UTC 2014

I'd like to get some more discussion going for the nova-spec on adding 
DB2 support [1] especially since we didn't get to the topic for non-virt 
driver 3rd party CI in the nova design summit session this morning.

Basically, there are three possible 3rd party CIs to run for a backend 
database engine:

1. tempest
2. unit tests
3. turbo-hipster

In Icehouse we were working toward Tempest with 3rd party CI and it's 
running against the WIP patch [2] already.

Now the question is coming up about whether or not unit test and t-h are 
also requirements for inclusion in Juno.

Obviously it's in everyone's best interest to run all three and get the 
most coverage possible to feel warm and fuzzy, but to be realistic I'd 
like to prioritize in the same order above, but then the question is if 
it's acceptable to stagger the UT and t-h testing.  A couple of points:

1. The migration unit tests under nova.tests.db.api will/should cover 
new tables and wrinkles, but I'd argue that Tempest should already be 
testing new tables (and you're getting the biggest test in my experience 
which is actually running the DB migrations when setting up with 
'nova-manage db sync').  So I consider UT a lower priority and therefore 
defer-able to a later release.

2. t-h testing is also desirable, but (a) there are no other 3rd party 
CI systems running t-h like they do for Tempest and (b) t-h is only 
running MySQL today, not PostgreSQL which is already in tree.  Given 
that, I also consider t-h testing defer-able and lower priority than 
getting unit tests running against a DB2 backend.

If we can agree on those priorities, then I'd like to figure out 
timelines and penalties, i.e. when would UT/t-h 3rd party CI be required 
for DB2, e.g. UT in K, t-h in H?  And if those deadlines aren't met, 
what's the penalty?  Since the DB2 support is baked into the migration 
scripts, I'm not sure how you can really just rip it out like a virt 
driver.  The obvious thing to me is you just stop accepting any 
migration changes that are for DB2 support, so new migrations could be 
broken on DB2 and they don't get fixed until the CI requirements are 
met.  Any voting CI system would also be turned off from voting/reporting.

Additional thoughts here?

[1] https://review.openstack.org/#/c/87096/
[2] https://review.openstack.org/#/c/69047/



Matt Riedemann

More information about the OpenStack-dev mailing list