cinder doesn't work with SQLAlchemy >= 0.8

Bug #1199453 reported by Thomas Goirand
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
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.

Revision history for this message
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
Revision history for this message
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.

Revision history for this message
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)
Changed in cinder:
assignee: nobody → David Ripton (dripton)
Changed in cinder:
milestone: none → havana-2
Revision history for this message
Thomas Goirand (thomas-goirand) wrote :

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

Revision history for this message
John Griffith (john-griffith) wrote :

Fix committed
Change-Id: Ie4b46339423e6a1ad3d8ca699a2412b825206c0e

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.