alembic migration issues in devstack

Bug #1221467 reported by gordon chung
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Fix Released
Undecided
Haomeng,Wang

Bug Description

just updated my devstack today and ran into this issue:

+ init_ceilometer
+ sudo mkdir -p /var/cache/ceilometer
+ sudo chown openstack /var/cache/ceilometer
+ rm -f '/var/cache/ceilometer/*'
+ [[ mysql = \m\y\s\q\l ]]
+ recreate_database ceilometer utf8
+ local db=ceilometer
+ local charset=utf8
+ recreate_database_mysql ceilometer utf8
+ local db=ceilometer
+ local charset=utf8
+ mysql -uroot -p -hlocalhost -e 'DROP DATABASE IF EXISTS ceilometer;'
+ mysql -uroot -p -hlocalhost -e 'CREATE DATABASE ceilometer CHARACTER SET utf8;'
+ /usr/local/bin/ceilometer-dbsync
2013-09-05 18:27:14.267 13108 INFO migrate.versioning.api [-] 0 -> 1...
2013-09-05 18:27:15.322 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.322 13108 INFO migrate.versioning.api [-] 1 -> 2...
2013-09-05 18:27:15.357 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.357 13108 INFO migrate.versioning.api [-] 2 -> 3...
2013-09-05 18:27:15.573 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.574 13108 INFO migrate.versioning.api [-] 3 -> 4...
2013-09-05 18:27:15.616 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.617 13108 INFO migrate.versioning.api [-] 4 -> 5...
2013-09-05 18:27:15.690 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.690 13108 INFO migrate.versioning.api [-] 5 -> 6...
2013-09-05 18:27:15.729 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:15.729 13108 INFO migrate.versioning.api [-] 6 -> 7...
2013-09-05 18:27:16.012 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:16.012 13108 INFO migrate.versioning.api [-] 7 -> 8...
2013-09-05 18:27:16.456 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:16.457 13108 INFO migrate.versioning.api [-] 8 -> 9...
2013-09-05 18:27:16.587 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:16.587 13108 INFO migrate.versioning.api [-] 9 -> 10...
2013-09-05 18:27:16.625 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:16.625 13108 INFO migrate.versioning.api [-] 10 -> 11...
2013-09-05 18:27:16.749 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:16.749 13108 INFO migrate.versioning.api [-] 11 -> 12...
2013-09-05 18:27:17.247 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:17.248 13108 INFO migrate.versioning.api [-] 12 -> 13...
2013-09-05 18:27:17.292 13108 INFO migrate.versioning.api [-] done
2013-09-05 18:27:17.292 13108 INFO migrate.versioning.api [-] 13 -> 14...
2013-09-05 18:27:17.508 13108 INFO migrate.versioning.api [-] done
CRITI [ceilometer] drop_constraint() got an unexpected keyword argument 'type_'
Traceback (most recent call last):
  File "/usr/local/bin/ceilometer-dbsync", line 10, in <module>
    sys.exit(dbsync())
  File "/opt/stack/ceilometer/ceilometer/storage/__init__.py", line 139, in dbsync
    get_connection(cfg.CONF).upgrade()
  File "/opt/stack/ceilometer/ceilometer/storage/impl_sqlalchemy.py", line 153, in upgrade
    migration.db_sync(session.get_bind())
  File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/migration.py", line 69, in db_sync
    alembic.command.upgrade(_alembic_config(), "head")
  File "/usr/local/lib/python2.7/dist-packages/alembic/command.py", line 124, in upgrade
    script.run_env()
  File "/usr/local/lib/python2.7/dist-packages/alembic/script.py", line 191, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/usr/local/lib/python2.7/dist-packages/alembic/util.py", line 186, in load_python_file
    module = imp.load_source(module_id, path, open(path, 'rb'))
  File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/alembic/env.py", line 77, in <module>
    run_migrations_online()
  File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/alembic/env.py", line 71, in run_migrations_online
    context.run_migrations()
  File "<string>", line 7, in run_migrations
  File "/usr/local/lib/python2.7/dist-packages/alembic/environment.py", line 494, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python2.7/dist-packages/alembic/migration.py", line 211, in run_migrations
    change(**kw)
  File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/alembic/versions/b6ae66d05e3_remove_extra_indexes.py", line 82, in upgrade
    limited)
  File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/alembic/versions/b6ae66d05e3_remove_extra_indexes.py", line 68, in index_cleanup
    op.drop_constraint(uniq_name, table_name, type_='unique')
TypeError: drop_constraint() got an unexpected keyword argument 'type_'
++ failed
++ local r=1
+++ jobs -p
++ kill
++ set +o xtrace

Revision history for this message
Haomeng,Wang (whaom) wrote :

This new argument name "type_" is involved from alembic 0.5.0 version:

root@ubuntu:/usr/local/lib/python2.7/dist-packages/alembic# grep drop_constraint *.py
operations.py: self.impl.drop_constraint(constraint)
operations.py: def drop_constraint(self, name, table_name, type_=None, schema=None):
operations.py: self.impl.drop_constraint(const)
root@ubuntu:/usr/local/lib/python2.7/dist-packages/alembic# cat __init__.py |grep version
__version__ = '0.5.0'
root@ubuntu:/usr/local/lib/python2.7/dist-packages/alembic#

So, the problem is caused by a lower version of alembic, we can try to install alembic >= 0.5.0 to fix this issue.

Haomeng,Wang (whaom)
Changed in ceilometer:
assignee: nobody → Haomeng,Wang (whaom)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ceilometer (master)

Fix proposed to branch: master
Review: https://review.openstack.org/45391

Haomeng,Wang (whaom)
Changed in ceilometer:
status: New → In Progress
Revision history for this message
Haomeng,Wang (whaom) wrote :

Global requirements change code review:
https://review.openstack.org/46004

Revision history for this message
Haomeng,Wang (whaom) wrote :
Lianhao Lu (lianhao-lu)
Changed in ceilometer:
milestone: none → havana-rc1
milestone: havana-rc1 → none
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ceilometer (master)

Reviewed: https://review.openstack.org/45391
Committed: http://github.com/openstack/ceilometer/commit/f23d5fe3b733c7f990ed1bee2cc5e8c21d079828
Submitter: Jenkins
Branch: master

commit f23d5fe3b733c7f990ed1bee2cc5e8c21d079828
Author: Haomeng, Wang <email address hidden>
Date: Fri Sep 13 10:29:07 2013 +0800

    Update alembic requirement to 0.6.0 version

    Our ceilometer/storage/sqlalchemy/alembic/versions/b6ae66d05e3_remove_extra_indexes.py
    call a new drop_constraint method with type_ argument,
    but this new method argument is invovled from alembic 0.5.0 version,
    and Jenkins is using alembic 0.6.0 version, global-requirements.txt
    changed by 46004 patch already.

    Fixed bug: 1221467

    Change-Id: Iecdc453acc5fdbad28141e3c882df2f7006d5205

Haomeng,Wang (whaom)
Changed in ceilometer:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in ceilometer:
milestone: none → havana-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ceilometer:
milestone: havana-rc1 → 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.