Public bug reported:
Since MySQL 8.0.17 'member' is reserved keyword so it can't be column name in
'image_members' table.
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
# rpm -qf /usr/bin/glance-manage
openstack-glance-17.0.0-2.el7.noarch
$ glance-manage --config-file /etc/glance/glance-api.conf db_sync
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> liberty, liberty initial
CRITI [glance] Unhandled error
Traceback (most recent call last):
File "/bin/glance-manage", line 10, in <module>
sys.exit(main())
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 563, in
main
return CONF.command.action_fn()
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 395, in
sync
self.command_object.sync(CONF.command.version)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 165, in
sync
self.expand(online_migration=False)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 222, in
expand
self._sync(version=expand_head)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 180, in
_sync
alembic_command.upgrade(a_config, version)
File "/usr/lib/python2.7/site-packages/alembic/command.py", line 254, in
upgrade
script.run_env()
File "/usr/lib/python2.7/site-packages/alembic/script/base.py", line 425, in
run_env
util.load_python_file(self.dir, 'env.py')
File "/usr/lib/python2.7/site-packages/alembic/util/pyfiles.py", line 81, in
load_python_file
module = load_module_py(module_id, path)
File "/usr/lib/python2.7/site-packages/alembic/util/compat.py", line 141, in
load_module_py
mod = imp.load_source(module_id, path, fp)
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/env.py",
line 88, in <module>
run_migrations_online()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/env.py",
line 83, in run_migrations_online
context.run_migrations()
File "<string>", line 8, in run_migrations
File "/usr/lib/python2.7/site-packages/alembic/runtime/environment.py", line
836, in run_migrations
self.get_context().run_migrations(**kw)
File "/usr/lib/python2.7/site-packages/alembic/runtime/migration.py", line
330, in run_migrations
step.migration_fn(**kw)
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/versions/liberty_initial.py",
line 37, in upgrade
add_images_tables.upgrade()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/add_images_tables.py",
line 200, in upgrade
_add_image_members_table()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/add_images_tables.py",
line 155, in _add_image_members_table
extend_existing=True)
File "<string>", line 8, in create_table
File "<string>", line 3, in create_table
File "/usr/lib/python2.7/site-packages/alembic/operations/ops.py", line 1120,
in create_table
return operations.invoke(op)
File "/usr/lib/python2.7/site-packages/alembic/operations/base.py", line 319,
in invoke
return fn(self, operation)
File "/usr/lib/python2.7/site-packages/alembic/operations/toimpl.py", line
101, in create_table
operations.impl.create_table(table)
File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 194, in
create_table
self._exec(schema.CreateTable(table))
File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 118, in
_exec
return conn.execute(construct, *multiparams, **params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
948, in execute
return meth(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/ddl.py", line 68, in
_execute_on_connection
return connection._execute_ddl(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1009, in _execute_ddl
compiled
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1200, in _execute_context
context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1409, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line
203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1193, in _execute_context
context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line
507, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 170, in
execute
result = self._query(query)
File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 328, in
_query
conn.query(q)
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 516, in
query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 727, in
_read_query_result
result.read()
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1066, in
read
first_packet = self.connection._read_packet()
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in
_read_packet
packet.check_error()
File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in
check_error
err.raise_mysql_exception(self._data)
File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in
raise_mysql_exception
raise errorclass(errno, errval)
DBError: (pymysql.err.ProgrammingError) (1064, u"You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near 'member VARCHAR(255) NOT NULL, \n\tcan_share BOOL NOT
NULL, \n\tcreated_at DATETIME N' at line 4") [SQL: u"\nCREATE TABLE
image_members (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\timage_id VARCHAR(36)
NOT NULL, \n\tmember VARCHAR(255) NOT NULL, \n\tcan_share BOOL NOT NULL,
\n\tcreated_at DATETIME NOT NULL, \n\tupdated_at DATETIME, \n\tdeleted_at
DATETIME, \n\tdeleted BOOL NOT NULL, \n\tstatus VARCHAR(20) NOT NULL DEFAULT
'pending', \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(image_id) REFERENCES images
(id), \n\tCONSTRAINT image_members_image_id_member_deleted_at_key UNIQUE
(image_id, member, deleted_at), \n\tCHECK (can_share IN (0, 1)), \n\tCHECK
(deleted IN (0, 1))\n)ENGINE=InnoDB CHARSET=utf8\n\n"] (Background on this
error at: http://sqlalche.me/e/f405)
** Affects: glance
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1837655
Title:
glance can't be used with MySQL 8.0.17 or newer because 'member'
became keyword
Status in Glance:
New
Bug description:
Since MySQL 8.0.17 'member' is reserved keyword so it can't be column name in
'image_members' table.
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
# rpm -qf /usr/bin/glance-manage
openstack-glance-17.0.0-2.el7.noarch
$ glance-manage --config-file /etc/glance/glance-api.conf db_sync
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> liberty, liberty initial
CRITI [glance] Unhandled error
Traceback (most recent call last):
File "/bin/glance-manage", line 10, in <module>
sys.exit(main())
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 563, in
main
return CONF.command.action_fn()
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 395, in
sync
self.command_object.sync(CONF.command.version)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 165, in
sync
self.expand(online_migration=False)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 222, in
expand
self._sync(version=expand_head)
File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 180, in
_sync
alembic_command.upgrade(a_config, version)
File "/usr/lib/python2.7/site-packages/alembic/command.py", line 254, in
upgrade
script.run_env()
File "/usr/lib/python2.7/site-packages/alembic/script/base.py", line 425,
in run_env
util.load_python_file(self.dir, 'env.py')
File "/usr/lib/python2.7/site-packages/alembic/util/pyfiles.py", line 81,
in load_python_file
module = load_module_py(module_id, path)
File "/usr/lib/python2.7/site-packages/alembic/util/compat.py", line 141,
in load_module_py
mod = imp.load_source(module_id, path, fp)
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/env.py",
line 88, in <module>
run_migrations_online()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/env.py",
line 83, in run_migrations_online
context.run_migrations()
File "<string>", line 8, in run_migrations
File "/usr/lib/python2.7/site-packages/alembic/runtime/environment.py",
line 836, in run_migrations
self.get_context().run_migrations(**kw)
File "/usr/lib/python2.7/site-packages/alembic/runtime/migration.py", line
330, in run_migrations
step.migration_fn(**kw)
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/versions/liberty_initial.py",
line 37, in upgrade
add_images_tables.upgrade()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/add_images_tables.py",
line 200, in upgrade
_add_image_members_table()
File
"/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/alembic_migrations/add_images_tables.py",
line 155, in _add_image_members_table
extend_existing=True)
File "<string>", line 8, in create_table
File "<string>", line 3, in create_table
File "/usr/lib/python2.7/site-packages/alembic/operations/ops.py", line
1120, in create_table
return operations.invoke(op)
File "/usr/lib/python2.7/site-packages/alembic/operations/base.py", line
319, in invoke
return fn(self, operation)
File "/usr/lib/python2.7/site-packages/alembic/operations/toimpl.py", line
101, in create_table
operations.impl.create_table(table)
File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 194, in
create_table
self._exec(schema.CreateTable(table))
File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 118, in
_exec
return conn.execute(construct, *multiparams, **params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
948, in execute
return meth(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/ddl.py", line 68,
in _execute_on_connection
return connection._execute_ddl(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1009, in _execute_ddl
compiled
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1200, in _execute_context
context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1409, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line
203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line
1193, in _execute_context
context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py",
line 507, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 170, in
execute
result = self._query(query)
File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 328, in
_query
conn.query(q)
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 516,
in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 727,
in _read_query_result
result.read()
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1066,
in read
first_packet = self.connection._read_packet()
File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683,
in _read_packet
packet.check_error()
File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in
check_error
err.raise_mysql_exception(self._data)
File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in
raise_mysql_exception
raise errorclass(errno, errval)
DBError: (pymysql.err.ProgrammingError) (1064, u"You have an error in your
SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near 'member VARCHAR(255) NOT NULL, \n\tcan_share BOOL
NOT NULL, \n\tcreated_at DATETIME N' at line 4") [SQL: u"\nCREATE TABLE
image_members (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\timage_id VARCHAR(36)
NOT NULL, \n\tmember VARCHAR(255) NOT NULL, \n\tcan_share BOOL NOT NULL,
\n\tcreated_at DATETIME NOT NULL, \n\tupdated_at DATETIME, \n\tdeleted_at
DATETIME, \n\tdeleted BOOL NOT NULL, \n\tstatus VARCHAR(20) NOT NULL DEFAULT
'pending', \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(image_id) REFERENCES images
(id), \n\tCONSTRAINT image_members_image_id_member_deleted_at_key UNIQUE
(image_id, member, deleted_at), \n\tCHECK (can_share IN (0, 1)), \n\tCHECK
(deleted IN (0, 1))\n)ENGINE=InnoDB CHARSET=utf8\n\n"] (Background on this
error at: http://sqlalche.me/e/f405)
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1837655/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp