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
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 drop_constraint (constraint) (self, name, table_name, type_=None, schema=None): drop_constraint (const) /usr/local/ lib/python2. 7/dist- packages/ alembic# cat __init__.py |grep version /usr/local/ lib/python2. 7/dist- packages/ alembic#
operations.py: self.impl.
operations.py: def drop_constraint
operations.py: self.impl.
root@ubuntu:
__version__ = '0.5.0'
root@ubuntu:
So, the problem is caused by a lower version of alembic, we can try to install alembic >= 0.5.0 to fix this issue.