[Bug 1899104] Re: [SRU] barbican-manage db upgrade fails with MySQL8

Chris MacNaughton 1899104 at bugs.launchpad.net
Fri Mar 12 10:59:07 UTC 2021


I've uploaded a new version of this package for Focal that should
resolve the above bug. Due to packaging confusion, the initial patch
removed all of the old migrations, but failed to include the new
migration. I've tested the new package to ensure that it does include
the new migration, and that the `barbican-manage db upgrade` command
works correctly.

** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-failed verification-failed-focal

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to barbican in Ubuntu.
https://bugs.launchpad.net/bugs/1899104

Title:
  [SRU] barbican-manage db upgrade fails with MySQL8

Status in barbican package in Ubuntu:
  Fix Released
Status in barbican source package in Focal:
  Fix Committed
Status in barbican source package in Groovy:
  Fix Released

Bug description:
  [Impact]

  New installations of OpenStack Barbican with Mysql8 fail with a
  traceback when trying to initialize the database

  [Test Case]

  Use the OpenStack charms to deploy Barbican on Ubuntu Focal. Using
  Focal is expected to have a traceback and with this change is expected
  to setup successfully.

  [Regression Potential]

  The regression potential for this is minimal as the package currently
  does not work at all with mysql8 which ships with Ubuntu Focal.

  The proposed change is a cherry-pick from upstream that resolves this issue by rebasing the old migrations into a single larger migration. This
  only affects new deploys that would normally step through all of the old
  migrations so shouldn't affect running deploys.

  -----------------------------------------------------

  Running

  barbican-manage db upgrade fails with the following traceback when the
  DB is mysql8:

  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1245, in _execute_context
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     self.dialect.do_execute(
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 581, in do_execute
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 170, in execute
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     result = self._query(query)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 328, in _query
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     conn.query(q)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 517, in query
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 732, in _read_query_result
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     result.read()
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 1075, in read
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     first_packet = self.connection._read_packet()
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     packet.check_error()
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     err.raise_mysql_exception(self._data)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters     raise errorclass(errno, errval)
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters pymysql.err.InternalError: (3959, "Check constraint 'secret_acls_chk_2' uses column 'creator_only', hence column cannot be dropped or renamed.")
  2020-10-08 22:31:32.028 28131 ERROR oslo_db.sqlalchemy.exc_filters
  ERROR: (pymysql.err.InternalError) (3959, "Check constraint 'secret_acls_chk_2' uses column 'creator_only', hence column cannot be dropped or renamed.")
  [SQL: ALTER TABLE secret_acls CHANGE creator_only project_access BOOL NULL]

  Seems this is a known issue with alembic [0]

  [1] https://github.com/sqlalchemy/alembic/issues/699

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/barbican/+bug/1899104/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list