yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #27402
[Bug 1399768] Re: migration ofr endpoint_filter failes due to foreign key constraint
Hit the same issue with follow error message, will look into the issue
and check whether this is caused by the old .pyc as ayong methioned.
/usr/local/bin/keystone-manage db_sync --extension endpoint_filter
31365 TRACE keystone Traceback (most recent call last):
31365 TRACE keystone File "/usr/local/bin/keystone-manage", line 6, in <module>
31365 TRACE keystone exec(compile(open(__file__).read(), __file__, 'exec'))
31365 TRACE keystone File "/opt/stack/keystone/bin/keystone-manage", line 44, in <module>
31365 TRACE keystone cli.main(argv=sys.argv, config_files=config_files)
31365 TRACE keystone File "/opt/stack/keystone/keystone/cli.py", line 311, in main
31365 TRACE keystone CONF.command.cmd_class.main()
31365 TRACE keystone File "/opt/stack/keystone/keystone/cli.py", line 74, in main
31365 TRACE keystone migration_helpers.sync_database_to_version(extension, version)
31365 TRACE keystone File "/opt/stack/keystone/keystone/common/sql/migration_helpers.py", line 211, in sync_database_to_version
31365 TRACE keystone _sync_extension_repo(extension, version)
31365 TRACE keystone File "/opt/stack/keystone/keystone/common/sql/migration_helpers.py", line 199, in _sync_extension_repo
31365 TRACE keystone init_version=init_version)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/migration.py", line 79, in db_sync
31365 TRACE keystone return versioning_api.upgrade(engine, repository, version)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 186, in upgrade
31365 TRACE keystone return _migrate(url, repository, version, upgrade=True, err=err, **opts)
31365 TRACE keystone File "<string>", line 2, in _migrate
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 160, in with_engine
31365 TRACE keystone return f(*a, **kw)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
31365 TRACE keystone schema.runchange(ver, change, changeset.step)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 93, in runchange
31365 TRACE keystone change.run(self.engine, step)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 148, in run
31365 TRACE keystone script_func(engine)
31365 TRACE keystone File "/opt/stack/keystone/keystone/contrib/endpoint_filter/migrate_repo/versions/002_add_endpoint_groups.py", line 41, in upgrade
31365 TRACE keystone project_endpoint_group_table.create(migrate_engine, checkfirst=True)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/schema.py", line 707, in create
31365 TRACE keystone checkfirst=checkfirst)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1616, in _run_visitor
31365 TRACE keystone conn._run_visitor(visitorcallable, element, **kwargs)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1245, in _run_visitor
31365 TRACE keystone **kwargs).traverse_single(element)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 120, in traverse_single
31365 TRACE keystone return meth(obj, **kw)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/ddl.py", line 732, in visit_table
31365 TRACE keystone self.connection.execute(CreateTable(table))
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 729, in execute
31365 TRACE keystone return meth(self, multiparams, params)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/ddl.py", line 69, in _execute_on_connection
31365 TRACE keystone return connection._execute_ddl(self, multiparams, params)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 783, in _execute_ddl
31365 TRACE keystone compiled
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
31365 TRACE keystone context)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1155, in _handle_dbapi_exception
31365 TRACE keystone util.raise_from_cause(newraise, exc_info)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
31365 TRACE keystone reraise(type(exception), exception, tb=exc_tb)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
31365 TRACE keystone context)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 436, in do_execute
31365 TRACE keystone cursor.execute(statement, parameters)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 205, in execute
31365 TRACE keystone self.errorhandler(self, exc, value)
31365 TRACE keystone File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
31365 TRACE keystone raise errorclass, errorvalue
31365 TRACE keystone OperationalError: (OperationalError) (1005, "Can't create table 'keystone.project_endpoint_group' (errno: 150)") '\nCREATE TABLE project_endpoint_group (\n\tendpoint_group_id VARCHAR(64) NOT NULL, \n\tproject_id VARCHAR(64) NOT NULL, \n\tPRIMARY KEY (endpoint_group_id, project_id), \n\tFOREIGN KEY(endpoint_group_id) REFERENCES endpoint_group (id)\n)\n\n' ()
31365 TRACE keystone
** Changed in: keystone
Status: Invalid => New
** Changed in: keystone
Assignee: (unassigned) => Dave Chen (wei-d-chen)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1399768
Title:
migration ofr endpoint_filter failes due to foreign key constraint
Status in OpenStack Identity (Keystone):
New
Bug description:
keystone-manage db_sync --extension endpoint_filter 2
fails with
2014-12-05 13:54:39.295 11241 TRACE keystone OperationalError: (OperationalError) (1005, "Can't create table 'keystone.project_endpoint_group' (errno: 150)") '\nCREATE TABLE project_endpoint_group (\n\tendpoint_group_id VARCHAR(64) NOT NULL, \n\tproject_id VARCHAR(64) NOT NULL, \n\tPRIMARY KEY (endpoint_group_id, project_id), \n\tFOREIGN KEY(endpoint_group_id) REFERENCES endpoint_group (id)\n)\n\n' ()
Migration 1 fails executing the below sql.
CREATE TABLE project_endpoint_group (endpoint_group_id VARCHAR(64) NOT NULL, project_id VARCHAR(64) NOT NULL, PRIMARY KEY (endpoint_group_id, project_id), FOREIGN KEY(endpoint_group_id) REFERENCES endpoint_group (id));
ERROR 1005 (HY000): Can't create table 'keystone.project_endpoint_group' (errno: 150)
Removing the clause FOREIGN KEY(endpoint_group_id) REFERENCES
endpoint_group (id)) makes it work.
THis is on Fedora 20 and I mariadb flavor of MySQL.
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1399768/+subscriptions
References