Activity log for bug #2003835

Date Who What changed Old value New value Message
2023-01-25 03:48:20 Trent Lloyd bug added bug
2023-01-25 04:34:24 Launchpad Janitor mysql-8.0 (Ubuntu): status New Confirmed
2023-01-25 04:57:31 Nobuto Murata bug added subscriber Nobuto Murata
2023-01-25 09:01:41 James Page bug added subscriber Ubuntu Security Team
2023-01-25 09:01:44 James Page mysql-8.0 (Ubuntu): importance Undecided Critical
2023-01-25 09:09:08 James Page tags regression-update
2023-01-25 09:14:54 Trent Lloyd description This is an investigation bug for the following error that has started to appear during juju-openstack deployments: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' It appears to correlate with MySQL 8.0.32 being published into -security today (Jan 24th/25th). I have not yet fully investigated the cause etc but wanted to open a tracking bug to discuss it. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect return fn() File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect return _ConnectionFairy._checkout(self) File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout rec = pool._do_get() File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get with util.safe_reraise(): File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ compat.raise_( File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get return self._create_connection() File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection return _ConnectionRecord(self) File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__ self.__connect() File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect with util.safe_reraise(): File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ compat.raise_( File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect self.dbapi_connection = connection = pool._invoke_creator(self) File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect return dialect.connect(*cargs, **cparams) File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect return self.dbapi.connect(*cargs, **cparams) File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__ self.connect() File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect self._request_authentication() File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication auth_packet = _auth.caching_sha2_password_auth(self, auth_packet) File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-'
2023-01-25 09:38:49 Trent Lloyd description After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/25502561/+files/mysql-router_8.0.32-0buntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service systemctl restart *-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-'
2023-01-25 09:41:32 James Page nominated for series Ubuntu Kinetic
2023-01-25 09:41:32 James Page bug task added mysql-8.0 (Ubuntu Kinetic)
2023-01-25 09:41:32 James Page nominated for series Ubuntu Jammy
2023-01-25 09:41:32 James Page bug task added mysql-8.0 (Ubuntu Jammy)
2023-01-25 09:41:32 James Page nominated for series Ubuntu Focal
2023-01-25 09:41:32 James Page bug task added mysql-8.0 (Ubuntu Focal)
2023-01-25 09:41:32 James Page nominated for series Ubuntu Lunar
2023-01-25 09:41:32 James Page bug task added mysql-8.0 (Ubuntu Lunar)
2023-01-25 09:41:42 James Page mysql-8.0 (Ubuntu Focal): status New Confirmed
2023-01-25 09:41:45 James Page mysql-8.0 (Ubuntu Jammy): status New Confirmed
2023-01-25 09:41:49 James Page mysql-8.0 (Ubuntu Focal): importance Undecided Critical
2023-01-25 09:41:50 James Page mysql-8.0 (Ubuntu Jammy): importance Undecided Critical
2023-01-25 09:41:52 James Page mysql-8.0 (Ubuntu Kinetic): importance Undecided Critical
2023-01-25 09:41:55 James Page mysql-8.0 (Ubuntu Lunar): status Confirmed New
2023-01-25 09:43:56 DUFOUR Olivier attachment added mysql-test-bundle.yaml https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/2003835/+attachment/5643259/+files/mysql-test-bundle.yaml
2023-01-25 09:44:29 DUFOUR Olivier attachment added test-pymysql.py https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/2003835/+attachment/5643260/+files/test-pymysql.py
2023-01-25 15:54:32 Lars Tangvald attachment added fix_unencrypted_pubkeyrequest.patch https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/2003835/+attachment/5643429/+files/fix_unencrypted_pubkeyrequest.patch
2023-01-25 16:25:04 Ubuntu Foundations Team Bug Bot tags regression-update patch regression-update
2023-01-25 16:25:15 Ubuntu Foundations Team Bug Bot bug added subscriber Ubuntu Review Team
2023-01-25 17:04:43 Launchpad Janitor mysql-8.0 (Ubuntu): status New Confirmed
2023-01-25 17:04:43 Launchpad Janitor mysql-8.0 (Ubuntu Kinetic): status New Confirmed
2023-01-25 17:26:31 Mauricio Faria de Oliveira bug added subscriber Mauricio Faria de Oliveira
2023-01-26 13:24:56 Rodrigo Barbieri tags patch regression-update patch regression-update sts
2023-01-26 14:11:31 Marc Deslauriers information type Public Public Security
2023-01-26 19:55:29 Aleksey Morozov bug task added openstack (Ubuntu)
2023-01-26 22:19:49 Launchpad Janitor openstack (Ubuntu): status New Confirmed
2023-01-26 22:19:49 Launchpad Janitor openstack (Ubuntu Focal): status New Confirmed
2023-01-26 22:19:49 Launchpad Janitor openstack (Ubuntu Jammy): status New Confirmed
2023-01-26 22:19:49 Launchpad Janitor openstack (Ubuntu Kinetic): status New Confirmed
2023-01-27 01:06:37 Trent Lloyd description After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/25502561/+files/mysql-router_8.0.32-0buntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service systemctl restart *-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/24557440/+files/mysql-router_8.0.31-0ubuntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service systemctl restart *-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-'
2023-01-27 02:21:05 DUFOUR Olivier bug added subscriber DUFOUR Olivier
2023-01-27 08:43:50 Trent Lloyd description After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/24557440/+files/mysql-router_8.0.31-0ubuntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service systemctl restart *-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/24557440/+files/mysql-router_8.0.31-0ubuntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service apt install ./FILENAME.deb systemctl restart \*-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-'
2023-01-27 09:00:23 Trent Lloyd description After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31 Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/24557440/+files/mysql-router_8.0.31-0ubuntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service apt install ./FILENAME.deb systemctl restart \*-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' After upgrading and restarting both mysql-router (does not happen automatically) and mysql server (does happen automatically) to the new 8.0.32 version clients using the pymysql library and connecting via mysql-router will fail to connect with the following error: pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-' 8.0.32 was published into -security today (Jan 24th/25th). As a result both mysql-router and mysql-server get upgraded by unattended-upgrades. This does not happen on 8.0.31 This affects charmed openstack deployments on focal+jammy, database authentication doesn't work out of the box on new installs and fails on upgraded installs. [Workaround] Downgrade mysql-router to 8.0.31. Note: You only need to downgrade the mysql-router package only - it does not cross-depend with any other mysql package. You cannot (and should not) downgrade the server packages as the 8.0.31 server cannot open data files upgraded to 8.0.32. Focal (20.04) amd64: https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.31-0ubuntu0.20.04.2/+build/24823714/+files/mysql-router_8.0.31-0ubuntu0.20.04.2_amd64.deb Jammy (22.04) amd64: https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/24557440/+files/mysql-router_8.0.31-0ubuntu0.22.04.1_amd64.deb Download and install the package, then restart the mysql-router service apt install ./FILENAME.deb systemctl restart \*-mysql-router Alternatively: Install the MySQL CLI and then manually connect to the server with each user/password combination in the environment. This will cache the password in the server's memory which triggers a different code path that avoids the issue. If the MySQL server fails over or is restarted the cache is lost and clients will fail to connect again. [Traceback] Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 3250, in _wrap_pool_connect     return fn()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 310, in connect     return _ConnectionFairy._checkout(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 868, in _checkout     fairy = _ConnectionRecord.checkout(pool)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 476, in checkout     rec = pool._do_get()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 145, in _do_get     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 143, in _do_get     return self._create_connection()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 256, in _create_connection     return _ConnectionRecord(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 371, in __init__     self.__connect()   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 665, in __connect     with util.safe_reraise():   File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__     compat.raise_(   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_     raise exception   File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 661, in __connect     self.dbapi_connection = connection = pool._invoke_creator(self)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 590, in connect     return dialect.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 597, in connect     return self.dbapi.connect(*cargs, **cparams)   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 353, in __init__     self.connect()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 633, in connect     self._request_authentication()   File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 932, in _request_authentication     auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)   File "/usr/lib/python3/dist-packages/pymysql/_auth.py", line 257, in caching_sha2_password_auth     raise OperationalError( pymysql.err.OperationalError: caching sha2: Unknown packet for public key: b'-'
2023-01-27 18:02:29 Alexander Balderson tags patch regression-update sts cdo-qa foundations-engine patch regression-update sts
2023-01-29 14:55:28 Launchpad Janitor mysql-8.0 (Ubuntu Focal): status Confirmed Fix Released
2023-01-29 15:32:15 Launchpad Janitor mysql-8.0 (Ubuntu Kinetic): status Confirmed Fix Released
2023-01-29 15:32:16 Launchpad Janitor mysql-8.0 (Ubuntu Jammy): status Confirmed Fix Released
2023-01-30 02:18:42 Brett Milford bug added subscriber Brett Milford
2023-01-31 15:15:27 Lars Tangvald attachment added Fix for handling unencrypted passwords with length > 20 https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/2003835/+attachment/5644152/+files/fix_unencrypted_longpass.patch
2023-02-03 21:58:08 Launchpad Janitor mysql-8.0 (Ubuntu Lunar): status Confirmed Fix Released
2023-08-10 18:01:29 Utkarsh Gupta openstack (Ubuntu Kinetic): status Confirmed Won't Fix