← Back to team overview

openstack team mailing list archive

sqlalchemy version dependencies

 

There are a few inconsistencies currently with
the sqlalchemy version specifications in nova and glance.

tl;dr SQLAlchemy>=0.6.3 should be fine for Essex?

For e.g. the name "useexisting" was deprecated in
sqlalchemy-0.7.0 and changed to "extend_existing".
That name change was also made recently in glance:
  https://review.openstack.org/#change,5031
However glance has this inconsistent pip-requires
(there is no reason given in commit history):
  SQLAlchemy>=0.6.3,<0.7

Nova was changed from sqlalchemy version agnostic to
>=0.7.3 because of this migration bug:
  https://bugs.launchpad.net/nova/+bug/928637
But that sqlalchemy issue was not in 0.6.x,
as can be seen with this similar issue and change:
  https://bugs.launchpad.net/glance/+bug/787296
  http://bazaar.launchpad.net/~hudson-openstack/glance/trunk/revision/138

>From experience one should actively try to minimize dependencies.
So it would be better to support 0.6.x if possible.
Even if there are issues with 0.7.[012] upstream,
those could have been patched locally.
So ideally we would not restrict sqlalchemy versions at all.

Pragmatically though since those sqlalchemy versions
don't seem to be commonly distributed, it might
be best to add the following to nova and glance?

  SQLAlchemy>=0.6.3,!=0.7.0,!=0.7.1,!=0.7.2¹

Also that would imply that the glance change 5031
referenced above should be reverted?

Are there other dependencies I'm not aware of?

cheers,
Pádraig.

¹ http://peak.telecommunity.com/DevCenter/setuptools#declaring-dependencies


Follow ups