ironic/releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml
Sharpz7 949387bd80 [codespell] Fixing Spelling Mistakes
This is the first in a series of commits to add support for codespell. This is continuning the process completed in ironic-python-agent.

Future Commits will add a Tox Target, CI support and potentially a git-blame-ignore-revs file if their are lots of spelling mistakes that could clutter git blame.

Change-Id: Id328ff64c352e85b58181e9d9e35973a8706ab7a
2024-02-12 19:58:56 +00:00

24 lines
1.3 KiB
YAML

---
fixes:
- |
Fixes an missing MySQL/MariaDB character set configuration and default
table type encoding for the ``allocations`` database table. Previously,
If Ironic's database was attempted to be populated on a machine which
was using 4 byte character encoding, such as MySQL/MariaDB on Debian
based systems, then the database schema creation would fail.
upgrade:
- This upgrade updates the default character set to utilized in the
database tables when using MySQL/MariaDB. Previously, the default
for Ironic was ``UTF8``, however we now explicitly set ``UTF8MB3``
which is short for "3 byte UTF8" encoding. The exception to this
is the ``allocations`` table, which would just rely upon the database
default. This was done as Ironic's database schema is incompatible
with MySQL/MariaDB's ``UTF8MB4``, or "4 byte UTF8" character encoding
and storage constraints.
- Upgrading will change the default character encoding of all tables.
For most tables, this should be an effective noop, but may result in
transitory table locks. For the ``allocations`` table, it will need to
be re-written, during which the database engine will have locked the
table from being used. Operators are advised to perform test upgrades
and set expectation and upgrade plans accordingly.