fleet/tools/percona/test
Ian Littman 7d4acdc5c4
Bump supported MySQL versions (#40892)
Fixes #40975.

8.0.32 (was running in Aurora managed cloud at the time) -> 8.0.39 (what
we're running now) 8.0.36 -> 8.0.44 (latest 8.0.x version supported by
Aurora; holding off on 8.0.45 until Aurora supports it) 8.4.7 -> 8.4.8
9.5.0 -> 9.6.0

Also bumped the supported Aurora version from 3.07.0 to 3.08.2 to match
what we're running in managed cloud right now

Fleet might work on older patch versions but we'll no longer dev/test on
them. MySQL 9.x not testing previous minor versions matches with our
previous approach for that version.

Since these are all patch/minor bumps (and the overnight build cases are
patch bumps/are covered by AWS envs) automated testing should be
sufficient here.
2026-03-04 12:25:20 -06:00
..
README.md Test DB migrations with Percona XtraDB MySQL server 5.7.25 (#16320) 2024-01-29 14:21:37 -03:00
upgrade.sh Bump supported MySQL versions (#40892) 2026-03-04 12:25:20 -06:00

Test migrations with Percona Server XtraDB 5.7.25

IMPORTANT:

  • The test performed here will clear your local database.
  • This test was developed and tested on a macOS Intel device.

Following are the instructions to test Fleet DB migrations with a specific version of Percona Server XtraDB (5.7.25). We need to run this specific test for users running this specific version of Percona Server. The test will run migrations with pxc_strict_mode=PERMISSIVE up until fleet-v4.42.0 and then run the remaining migrations with pxc_strict_mode=ENFORCING (default) because starting in fleet-v4.44.0 we will attempt to make every migration compatible with running this specific version of Percona Server with the default setting.

Dependencies:

  • Docker for Mac.
  • mysql client (brew install mysql-client).

Everything should be executed at the root of the repository.

  1. Backup first by running make db-backup.
  2. Make sure to be on latest main:
git checkout main
git pull origin main
  1. Run the upgrade test script: ./tools/percona/test/upgrade.sh.
  2. Once the script finishes (you should see Migrations completed. at the very end), run fleet serve and perform smoke tests as usual.
  3. Restore your previous setup by running the following:
docker compose down
docker volume rm fleet_mysql-persistent-volume
docker compose up
make db-restore