[openstack-dev] Duplicate code for processing REST APIs

Roman Podoliaka rpodolyaka at mirantis.com
Thu Mar 13 21:13:41 UTC 2014

Hi Steven,

Code from openstack/common/ dir is 'synced' from oslo-incubator. The
'sync' is effectively a copy of oslo-incubator subtree into a project
source tree. As syncs are not done at the same time, the code of
synced modules may indeed by different for each project depending on
which commit of oslo-incubator was synced.


On Thu, Mar 13, 2014 at 2:03 PM, Steven Kaufer <kaufer at us.ibm.com> wrote:
> While investigating some REST API updates I've discovered that there is a
> lot of duplicated code across the various OpenStack components.
> For example, the paginate_query function exists in all these locations and
> there are a few slight differences between most of them:
> https://github.com/openstack/ceilometer/blob/master/ceilometer/openstack/common/db/sqlalchemy/utils.py#L61
> https://github.com/openstack/cinder/blob/master/cinder/openstack/common/db/sqlalchemy/utils.py#L37
> https://github.com/openstack/glance/blob/master/glance/openstack/common/db/sqlalchemy/utils.py#L64
> https://github.com/openstack/heat/blob/master/heat/openstack/common/db/sqlalchemy/utils.py#L62
> https://github.com/openstack/keystone/blob/master/keystone/openstack/common/db/sqlalchemy/utils.py#L64
> https://github.com/openstack/neutron/blob/master/neutron/openstack/common/db/sqlalchemy/utils.py#L61
> https://github.com/openstack/nova/blob/master/nova/openstack/common/db/sqlalchemy/utils.py#L64
> Does anyone know if there is any work going on to move stuff like this into
> oslo and then deprecate these functions?  There are also many functions that
> process the REST API request parameters (getting the limit, marker, sort
> data, etc.) that are also replicated across many components.
> If no existing work is done in this area, how should this be tackled?  As a
> blueprint for Juno?
> Thanks,
> Steven Kaufer
> Cloud Systems Software
> kaufer at us.ibm.com     507-253-5104
> Dept HMYS / Bld 015-2 / G119 / Rochester, MN 55901
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

More information about the OpenStack-dev mailing list