> 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 _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev