db migration tests falsely succeed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Wishlist
|
Steve Martinelli |
Bug Description
---[Proposed Solution (morganfainberg
The solution to this bug it so eliminate all SQLite migrations in the unit tests and only test migrations with the functional test suite. This is something that will occur once David Stanek has the full functional test suite up and running.
This also implies that support for SQLite is suspect at best for all use-cases.
---[ Problem Description ]---
Some db migration tests succeed, while the same migrations, applied by db_sync fail. A good example of this is bug #1405673: migration 44 seems to be tested, but failes when applied in real life.
To illustrate the issue, http://
(.venv)
tools/with_venv.sh
keystone.
test_
test_
test_
test_
test_
test_
test_id_mapping OK 21.70
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
test_
[...]
Ran 34 tests in 557.405s
FAILED (failures=5)
description: | updated |
tags: | added: sql test-improvement |
Changed in keystone: | |
milestone: | none → kilo-rc1 |
Changed in keystone: | |
milestone: | kilo-rc1 → none |
tags: | added: functional-testing |
Changed in keystone: | |
assignee: | nobody → Steve Martinelli (stevemar) |
I would like to see a move to eliminate SQLite from use in Keystone instead of trying to rely on it to "test" migrations. SQLite does not mirror any real production worthy system and tends to result in weird edge-cases.
Instead of "fixing" these migration tests we should move towards the functional test suite doing tests against MySQL and pgsql (in infra-gate) directly and drop SQLite support completely.
SQL migration tests need to be re-worked as well to mirror how nova handles them for pre-upgrade/ upgrade/ post-upgrade checks (and downgrades).