← Back to team overview

openstack team mailing list archive

Re: sqlalchemy version dependencies

 

On Tue, 2012-03-13 at 16:48 +0000, Pádraig Brady wrote:
> 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?

Ok, I read your summary of this several times and got confused every
time.

Let me see if I've got it:

  - We can only get rid of the "useexisting" warnings if we require 
    0.7.0 or later

    (well, unless we add some hack to use the new API where available 
    and fall back to the old one otherwise)

  - We can't use 0.7.{0,1} because it breaks Nova (#928637)

  - Glance's pip requires now has >=0.7 and Nova's has >=0.7.3. Neither
    horizon nor keystone specify a version

IMHO, that boils down to "OpenStack Essex requires SQLAlchemy 0.7.3 or
later". Right?

Several people raised the concern that devstack on oneric currently uses
SQLAlchemy 0.6.8:

  http://review.openstack.org/5081

Can anyone confirm this? In theory, Nova currently doesn't work with
0.6.8, so something isn't adding up somewhere? Can we just update
devstack to use >=0.7.3?

On a related note, I've proposed a session for the design summit to
discuss how we can better manage and communicate our dependencies:

  http://summit.openstack.org/sessions/view/46

Cheers,
Mark.

(Pádraig's mail included below for context)

> 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
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp




References