manila has some CentOS jobs in which the devstack install has recently been failing during the Cinder DB migrations:
2018-12-12 14:29:30.192 | [00;36mINFO migrate.versioning.api [[00;36m-[00;36m] [01;35m[00;36mdone[00m[00m
2018-12-12 14:29:30.192 | [00;36mINFO migrate.versioning.api [[00;36m-[00;36m] [01;35m[00;36m125 -> 126... [00m[00m
2018-12-12 14:29:30.201 | [00;36mINFO migrate.versioning.api [[00;36m-[00;36m] [01;35m[00;36mdone[00m[00m
2018-12-12 14:29:30.201 | [00;36mINFO migrate.versioning.api [[00;36m-[00;36m] [01;35m[00;36m126 -> 127... [00m[00m
2018-12-12 14:29:30.212 | [01;31mERROR oslo_db.sqlalchemy.exc_filters [[00;36m-[01;31m] [01;35m[01;31mDBAPIError exception wrapped from (pymysql.err.InternalError) (1071, u'Specified key was too long; max key length is 767 bytes') [SQL: u'\nALTER TABLE quota_usages CHANGE COLUMN resource resource VARCHAR(300)'] (Background on this error at: http://sqlalche.me/e/2j85)[00m: InternalError: (1071, u'Specified key was too long; max key length is 767 bytes')
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00mTraceback (most recent call last):
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m context)
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m cursor.execute(statement, parameters)
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 170, in execute
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m result = self._query(query)
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 328, in _query
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m conn.query(q)
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 516, in query
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m self._affected_rows = self._read_query_result(unbuffered=unbuffered)
2018-12-12 14:29:30.212 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 727, in _read_query_result
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m result.read()
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1066, in read
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m first_packet = self.connection._read_packet()
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m packet.check_error()
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m err.raise_mysql_exception(self._data)
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m raise errorclass(errno, errval)
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00mInternalError: (1071, u'Specified key was too long; max key length is 767 bytes')
2018-12-12 14:29:30.213 | ERROR oslo_db.sqlalchemy.exc_filters [01;35m[00m[00m
2018-12-12 14:29:30.214 | Error during database migration: (pymysql.err.InternalError) (1071, u'Specified key was too long; max key length is 767 bytes') [SQL: u'\nALTER TABLE quota_usages CHANGE COLUMN resource resource VARCHAR(300)'] (Background on this error at: http://sqlalche.me/e/2j85)
2018-12-12 14:29:30.327 | + lib/cinder:init_cinder:1 : exit_trap
We don't see the same issue on the corresponding (experimental) ubuntu bionic job.
Both jobs use PyMySQL 0.9.2.
+1
I can confirm this.
Error at this db upgrade version: /github. com/openstack/ cinder/ blob/master/ cinder/ db/sqlalchemy/ migrate_ repo/versions/ 127_change_ project_ resource_ attribute_ for_quota_ usages. py
https:/
Basicly because of the mariadb length utf8 limitation.
My env: 862.14. 4.el7.x86_ 64
devstack master branch
$ uname -r
3.10.0-
mariadb- 10.1.20- 2.el7.x86_ 64
=== my.cnf=== character- set = utf8
[client]
default-
[mysqld] storage- engine = InnoDB file_per_ table set-server = utf8
query_cache_size = 0
query_cache_type = OFF
max_connections = 1024
sql_mode = TRADITIONAL
bind-address = 0.0.0.0
default-
innodb_
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-
[mysql] character- set = utf8
default-