Split openstack.common.db code into a separate oslo.db library
The DB API is pretty stable now, so it should be released as a separate package.
To get oslo.db released as separate library, we should follow the next steps:
- solve the possible conflicts with the OpenStack projects due to defining the same oslo.config options in openstack common modules (at least lockutils and log)
- clean up oslo.db code remove dependency on eventlet
- sync openstack.common.db code version into all projects
- make oslo.db library
Proof of concept of oslo.db module is here: https:/
POC oslo.db module in action: https:/
Blueprint information
- Status:
- Complete
- Approver:
- Doug Hellmann
- Priority:
- High
- Drafter:
- Viktor Serhieiev
- Direction:
- Approved
- Assignee:
- Viktor Serhieiev
- Definition:
- Approved
- Series goal:
- Accepted for juno
- Implementation:
- Implemented
- Milestone target:
- juno-2
- Started by
- Viktor Serhieiev
- Completed by
- Viktor Serhieiev
Related branches
Related bugs
Bug #1263908: oslo.db is not able to cope with multiple engines | Fix Released |
Bug #1271706: Misleading warning about MySQL TRADITIONAL mode not being set | Fix Released |
Sprints
Whiteboard
Do you have a plan for handling the config option issue? - dhellmann
There are several ways to solve the config option issue:
I - Move lockutils and log out of incubation first.
In such case we must release oslo.lockutils and oslo.log first, and use these modules in all projects. (it’s going to take a long time...)
II - Remove oslo.config options from openstack.common modules (and update all project as well). (seems to be very hard to do)
III - Drop dependency on common log and lockutils modules.
Seems to be the simplest way, so we started to implement it.
There are patches, that remove common log usage from oslo.db
https:/
https:/
... and patches, that drop dependency on common lockutils
https:/
https:/
- viktors
To clean up oslo.db code from eventlet - see mail list thread http://
In a few fords - we use eventlet to wrap DB API method calls to be executed by tpool thread.
We can't just drop tpool support at all, so we should put the tpool wrapper class in a separate module which would be completely optional for users of the library.
- viktors
Gerrit topic: https:/
Addressed by: https:/
Drop dependency on processutils from oslo db code (merged)
Addressed by: https:/
Drop dependency on fileutils from oslo db tests (merged)
Gerrit topic: https:/
Addressed by: https:/
Remove eventlet tpool from common db.api (merged)
Addressed by: https:/
Drop dependency on log from oslo db code (merged)
Gerrit topic: https:/
(patches, related to bug 1263908)
Addressed by: https:/
Use ContextFormatter for imparting context info (merged)
... and one more review chain from Ben
2014-01-31T14:42:27 <bnemec> viktors: Tail end of the review chain: https:/
See this chain at gerrit: https:/
Addressed by: https:/
Restore the ability to load the DB backend lazily (merged)
Addressed by: https:/
Refactor database migration manager to use given engine
Addressed by: https:/
Remove CONF.database.
Addressed by: https:/
Add from_config() method to EngineFacade (merged)
Addressed by: https:/
Drop dependency oslo.db from common.log (merged)
Addressed by: https:/
Use oslotest instead of common test module (merged)
oslo-db-core is set up in gerrit with viktors and oslo-core as members. If we have any other reviewers, they still need to be added. - dhellmann (2014-04-30)
I suppose, that we should also add Poman Podoliaka to oslo-db-core. -- viktors (2014-05-12)
Addressed by: https:/
Mark db code as obsolete
Work Items
Work items:
Create Initial Repository - See https:/
Update MAINTAINERS in incubator with status and name - See https:/
Run graduate.sh: DONE
Fix the output of graduate.sh: DONE
Publish git repo: See https:/
Oslo team review new repository: DONE
openstack-
openstack-
openstack-
openstack-
openstack-
Update Gerrit Groups and ACLs: DONE
openstack/
openstack/
Update list of libraries on Oslo wiki page - See https:/
Update .gitreview in new repository https:/
Make the library do something: DONE
Give openstackci Owner permissions on PyPI: DONE
Tag a release: DONE
Mark graduated code obsolete in oslo-incubator: https:/
openstack/
openstack-
openstack-
openstack-
openstack-
Update project list on docs.openstack.org See https:/