[openstack-dev] [Solum] Some initial code copying for db/migration

Dan Smith dms at danplanet.com
Fri Nov 1 19:08:51 UTC 2013


>   https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L420
>   https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L43

This API and these models are what we are trying to avoid exposing to
the rest of nova. By wrapping these in our NovaObject-based structures,
we can bundle versioned data and methods together which is what we need
for cross-version compatibility and parity for the parts of nova that
are not allowed to talk to the database directly.

See the code in nova/objects/* for the implementations. Right now, these
just call into the db_api.py, but eventually we want to move the actual
database implementation into the objects themselves and hopefully
dispense with most or all of the sqlalchemy/* stuff. This also provides
us the ability to use other persistence backends that aren't supported
by sqlalchemy, or that don't behave like it does.

If you're going to be at the summit, come to the "objects" session on
Thursday where we'll talk about this in more detail. Other projects have
expressed interest in moving the core framework into Oslo so that we're
all doing things in roughly the same way. It would be good to get you
started on "the right way" early on before you have the migration hassle
we're currently "enjoying" in Nova :)

--Dan



More information about the OpenStack-dev mailing list