[DBMON-6807] Add MariaDB 12 and 13 support - #24301
Conversation
- 12.0: added to the mariadb-flavor matrix (bitnamilegacy image). - 13: RC-only and absent from bitnamilegacy, so route to the official mariadb image via a new MYSQL_IMAGE_TAG mechanism (mirrors POSTGRES_IMAGE_TAG), pinned to 13.0-rc, with a dedicated official-image compose (percona-style initdb replication). Official-image compose flagged for CI validation. - Sync CI config (ddev validate ci --sync). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 3a9afab | Docs | Datadog PR Page | Give us feedback! |
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The PR only touches the test matrix and test fixtures (hatch.toml, tests/); no Agent-shipped file changes, so per the changelog guidelines this needs no changelog entry. Environment: Datadog workspace Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MariaDB 13 runs on the official mariadb image, which requires a root password
(MARIADB_ROOT_PASSWORD=mypass) unlike the bitnami image used for 12.0 and older.
Add a shared common.mysql_root_password() helper (covering the official mysql and
mariadb images plus percona/group/hybrid) and route all root connections through
it so 13 authenticates while 12.0 and older stay empty.
Also make the version_metadata fixture tolerate a major-only version tag ("13"):
minor falls back to mock.ANY when the tag has no minor component.
Environment: Datadog workspace
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
In E2E runs TempDir reuses the same host logs directory across `env start` and `env test`. The official mariadb image (MariaDB 13) can chown the bind-mounted logs directory to its own uid during startup, so on the second setup the re-chmod from the test user fails with EPERM and errors out env setup. The directory permissions were already applied on first creation, so skip the chmod when it is no longer permitted. Kept identical to the MySQL 9 branch. Environment: Datadog workspace Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3b4a083472
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| ports: | ||
| - "${MYSQL_PORT}:3306" | ||
| volumes: | ||
| - ${MYSQL_LOGS_HOST_PATH}:${MYSQL_LOGS_PATH} |
There was a problem hiding this comment.
Make the official MariaDB log mount writable
In the new official-image path, ${MYSQL_LOGS_HOST_PATH} is the host-owned TempDir from dd_environment, which is only chmodded to 0770; the official MariaDB entrypoint drops to its internal mysql user after chowning the datadir/socket, not this extra log bind mount. Because the new config forces general and slow logs under /var/log/mysql, the py3.13-mariadb-13 containers on Linux CI cannot create/open mysql.log and mysql_slow.log unless that host directory is made writable for the container user, so the new matrix entry can fail at startup or lose the log collection it is trying to validate.
Useful? React with 👍 / 👎.
Validation ReportAll 21 validations passed. Show details
|
evalya-impact-summaryevalya impact analysis |
What does this PR do?
Motivation
Review checklist (to be filled by reviewers)
qa/requiredif this PR needs QA validation, orqa/skip-qaif it does not. Exactly one of the two is required.backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged