The simple way is to add '--server-id 2' after the name of the image of
the container. But GHA doesn't let us do that. The idea of mount a file
from our repo doesn't work because the repo is check out later in the
workflow and I failed to find a pre-job hook. Then I realized that this
MySQL option is dynamic! So we will set that in the test target!
This way we can split db_engine and db_version and simplify tests.
Also this is mandatory to use the matrix.db_engine_version as the
image name for our services containers.
We use the Podman/Docker network gateway address to communicate between
container. I haven't tested Docker. I would have preferred to use a pod
but only Podman support it and ansible-test only support the
--docker-network option.
Previously, everything was on localhost. Now ansible-test is in a
venv and the db is in a container. The db see the IP address from the
podman host (10.88.0.2)
* Compare privileges from before and after manipulation
* Add unit tests
* Fix FIXME integration tests related to this issue
* Fix sanity check
* Fix assertion when appending privs in mysql_role_initial integration tests
* Fix pylint
* [ci-skip] Add changelog fragment
* Fix: missing fragment file extension
* Replace privileges_equal() by a comparison
* Fix: sanity pylint
* Fix: forgot to remove privileges_equal import from unit tests
* Fix: exclude mysql 8 from test_mysql_user's 'Assert that priv did not change' test
* Add tests to verify that GRANT permission is present after user modification
* Fix: do not revoke GRANT permission when it's already allowed and present in priv parameter
* Deduplicate tests name
Easier to debug this way
* Fix assertions named 'GRANT permission is present'
* Only revoke grant option if it exists and absence is requested
* Fix assertion comments
* Fix: Only revoke grant option if it exists and absence is requested
* Avoid pointless revocations when ALL are granted
* Assert that priv did not change on mariadb also
* Fix: sanity and unity tests
* Format long lines
* Add changelog fragment
Co-authored-by: Laurent Indermühle <laurent.indermuehle@pm.me>
* Refactor tests to use "is" and "is not" changed
* Refactor tests to use is succeeded or is failed
* Reformat indentation
* Add filter "bool" to prevent issues
* Add changes from stable-1 integrations tests (PR 418)
* Refactor to use connectors' info declared in setup_mysql
* Fix 2nd replication stop marked changed by mysqlclient
* Add schema and tables for the tests
* Add tests for full dump with and without compression
* Add test for distinct dump with and without compression
* Fix sh not seeing errors for command before the pipe
sh is missing the pipefail flag. We must use bash for this.
* Add cleanup to prevent the following tests from failing
* Fix fqcn in module_defaults
* Add changelog fragment
* Add check to the error message to ensure we captured the right one
* Add option to activate the fix on systems with bash
* Fix errors when data schema is already absent
* Update changelogs/fragments/fix-256-mysql_dump-errors.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Add markup for commands in the documentation string
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Add markup and next release version in the documentation string
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Fix missing dependency for MySQL 8
* Add pipefail to tests of uncompressed dumps to enure it still works
* Fix "bash command not found" if pipefail is used for uncompressed dump
* Fix sanity pep8
* Document example of dump with pipefail
* Add dedpulication to command construct
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* mysql_role: add argument "members_must_exist" (boolean, default true)
The assertion that the users supplied in the "members" argument exist is only executed when the new argument "members_must_exist" is true, to allow opt-out.
* mysql_role: add integration tests for argument members_must_exist
* add changelog fragment
* mysql_role: fix behavior of members_must_exist argument
* Update plugins/modules/mysql_role.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update changelogs/fragments/369_mysql_role-add-members_must_exist.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Hamme <felix.hamme@ionos.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>