wmfmariadbpy contains a number of scripts which interact and make changes to clusters of mariadb. This is in desperate need of a way to do integration testing, as otherwise it's very hard to have confidence that changes will actually work correctly in production.
Ideally this integration env is easy to set up on a local workstation, as well as being identical to the CI environment.
Proposal: Use docker-compose to spin up a bunch of mariadb docker containers Have a setup script that configures replication between the containers Run integration tests against this cluster, resetting it between tests
Now that i've looked at dbdeployer, updated proposal:
- Have a docker image with dbdeployer installed
- Have "env" scripts to build/run this docker image, and download mysql/mariadb binary tarballs for it.
- Have integration test scripts that connect to the docker container, use dbdeployer to configure the test env, and then run an integration test against it.