]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix finish_volume_migration() on SQLAlchemy 0.8.x
authorRoman Podolyaka <rpodolyaka@mirantis.com>
Mon, 23 Sep 2013 14:58:54 +0000 (17:58 +0300)
committerRoman Podolyaka <rpodolyaka@mirantis.com>
Tue, 24 Sep 2013 15:32:47 +0000 (18:32 +0300)
commit36fab5ae26579c3cc68ef4ca02bdab3c232ce648
tree08603474ffd600a6a7ba4be8c3e459d2450ad37d
parent180513d5e4ed14e5f14fb8c800a17aa9f1594fb9
Fix finish_volume_migration() on SQLAlchemy 0.8.x

In SQAlchemy 0.8.x "Unconsumed column names" warning became
an exception, so refering to a non-existent column in insert()
or update() call raises an error.

finish_volume_migration() calls Session.update() method passing
values of two non-existent columns as arguments (volume_metadata,
volume_admin_metadata, volume_type). These two are not table columns
at all, but rather SQLAlchemy models relationships.

As SQLAlchemy ORM implements Unity of Work pattern, we should not
really track changes to a model instance manually at all, because
Session class already does it for us. finish_volume_migration()
is refactored to take benefit of this fact.

Fixes bug 1206561

Change-Id: I4513e3155a7dc6dcbd1c95aa9c14d1e1e5d02ab4
cinder/db/sqlalchemy/api.py