Current Series Release Notes

23.0.0-11

Bug Fixes

  • The nodegroup, federation and magnum_service tables were created without an explicit charset, unlike every other magnum table. Deployments where the database itself is created without an explicit charset (for example kolla-ansible) could end up with these tables on a different charset/collation than cluster, causing queries that join nodegroup.cluster_id against cluster.uuid to fail with an “Illegal mix of collations” error – most notably after upgrading to MariaDB 11.6+, where the server’s own default charset changed to utf8mb4. A new migration aligns these tables to whatever charset and collation cluster already uses.

  • Magnum’s tables no longer declare an explicit UTF8 character set in their creation migrations, and models.table_args() no longer passes mysql_charset. All tables now defer to the magnum database’s own default character set and collation, as deployment tools already create it consistently. Previously, some tables declared a bare CHARACTER SET and others declared none at all. From MariaDB 11.5 a bare CHARACTER SET stopped resolving to the same collation as the database default (MDEV-25829), so a table that declared the charset and one that did not could end up with different collations. This broke new deployments in the nodegroups_v2 migration, which joins the nodegroup and cluster tables, with Illegal mix of collations (utf8mb3_general_ci,IMPLICIT) and (utf8mb3_uca1400_ai_ci,IMPLICIT) for operation '='. Existing deployments are unaffected, because the migrations that create these tables have already run for them.