cinder doesn't work with SQLAlchemy >= 0.8

Bug #1199453 reported by Thomas Goirand on 2013-07-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Medium
David Ripton

Bug Description

Since python-sqlalchemy 0.8.2 was uploaded to Sid, Cinder is broken in Sid:

======================================================================
ERROR: test suite for <module 'cinder.tests' from '/root/src/cinder/build-area/cinder-2013.1.2/cinder/tests/__init__.py'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nose/suite.py", line 208, in run
    self.setUp()
  File "/usr/lib/python2.7/dist-packages/nose/suite.py", line 291, in setUp
    self.setupContext(ancestor)
  File "/usr/lib/python2.7/dist-packages/nose/suite.py", line 314, in setupContext
    try_run(context, names)
  File "/usr/lib/python2.7/dist-packages/nose/util.py", line 478, in try_run
    return func()
  File "/root/src/cinder/build-area/cinder-2013.1.2/cinder/tests/__init__.py", line 76, in setup
    migration.db_sync()
  File "/root/src/cinder/build-area/cinder-2013.1.2/cinder/db/migration.py", line 33, in db_sync
    return IMPL.db_sync(version=version)
  File "/root/src/cinder/build-area/cinder-2013.1.2/cinder/db/sqlalchemy/migration.py", line 79, in db_sync
    return versioning_api.upgrade(get_engine(), repository, version)
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 186, in upgrade
    return _migrate(url, repository, version, upgrade=True, err=err, **opts)
  File "<string>", line 2, in _migrate
  File "/root/src/cinder/build-area/cinder-2013.1.2/cinder/db/sqlalchemy/migration.py", line 44, in patched_with_engine
    return f(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
    schema.runchange(ver, change, changeset.step)
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange
    change.run(self.engine, step)
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 145, in run
    script_func(engine)
  File "/root/src/cinder/build-area/cinder-2013.1.2/cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py", line 42, in upgrade
    _warn_on_bytestring=False),
TypeError: __init__() got an unexpected keyword argument 'assert_unicode'

This breaks the install of Cinder as well in Debian, since db_sync is called in the postinst.

John Griffith (john-griffith) wrote :

I thought we were still pinned here based on the common requirements file: sqlalchemy>=0.7,<=0.7.99

That being said, obviously this needs to be fixed before that dependency can be bumped.

Changed in cinder:
status: New → Confirmed
importance: Undecided → Medium
Thomas Goirand (thomas-goirand) wrote :

Hi,
Yes, that thing is written in the requirement file. Though this didn't prevent the python-sqlalchemy maintainer to upload 0.8.2 in Debian Sid. This needs to be fixed *now*, because the Cinder package in Debian is currently not working at all, and the dependency is already "bumped". I think that the maintainer of SQLAlchemy should have coordinated the upgrade and do a transition, though this is the situation we are in now, and we shouldn't attempt to go back.

John Griffith (john-griffith) wrote :

Hi Thomas,

Understood, I believe https://review.openstack.org/#/c/36302/ will address this.

Perhaps you could have a look and verify?

David Ripton (dripton) on 2013-07-10
Changed in cinder:
assignee: nobody → David Ripton (dripton)
Changed in cinder:
milestone: none → havana-2
Thomas Goirand (thomas-goirand) wrote :

Hi, here is the patch which I now carry in my Debian package.

John Griffith (john-griffith) wrote :

Fix committed
Change-Id: Ie4b46339423e6a1ad3d8ca699a2412b825206c0e

Changed in cinder:
status: Confirmed → Fix Committed
Thierry Carrez (ttx) on 2013-07-17
Changed in cinder:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-2 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers