* 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 option subtract_privs to mysql_role and mysql_user
see https://github.com/ansible-collections/community.mysql/issues/331
* add integration tests for subtract_privs for mysql_role and mysql_user
* add changelog fragment for PR #333
* mysql_role, mysql_user: when subtract_privileges, don't grant unwanted privileges and don't revoke USAGE implicitly
* fix integration tests
* mysql_role, mysql_user: invalid privileges are ignored when subtract_privs is true -> document that and fix integration tests
* fix mysql_role integration tests
* fix mysql_role, mysql_user integration tests
* formatting
make the PEP8 check happy
* mysql_user and mysql_role: fix granting privileges when only the GRANT OPTION needs to be added
* mysql_user and mysql_role: log some updated privileges; explain integration test blind spot
* mysql_user and mysql_role: don't grant too much privileges
If only the grant option needs to be granted, at least one privilege needs to be granted to get valid syntax. USAGE is better for that than the existing privileges, because unwanted privileges would be re-added after revokation.
* mysql_user and mysql_role: fix type error
* Update changelogs/fragments/333-mysql_user-mysql_role-add-subtract_privileges-argument.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/mysql_role.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/mysql_user.py
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>
* Replace matrix.mysql by matrix.db_engine_version
* Specify db flavor
* Upgrade dbdeployer to 1.56.0
See https://github.com/datacharmer/dbdeployer/issues/120
* Fix: github workflow syntax
* Fix: mysql version file for mariadb engine
* Do not test mysql_variables modes persist and persist_only on mariadb
Those modes do not exist on mariadb. See https://mariadb.com/kb/en/set/
* Exclude integration tests for mariadb_10.5.4 with pymysql==0.7.10
* TLS on mariadb is disabled by default
* Configure mariadb supported versions in matrix
As discussed in https://github.com/ansible-collections/community.mysql/discussions/141#discussioncomment-643657
* Fix: test_mysql_db : assert that databases does not exist
"assertion": "database1 not in mysql_result.stdout"
* Fix: assertion mysql_version in result.version.full
* Fix: test_mysql_user : Check that the module made a change and that the expected plugin type is set
'mysql_native_password' in show_create_user.stdout
* Fix: test_mysql_replication : Create user for replication
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the
right syntax to use near 'BY 'replication_pass'' at line 1
https://dev.mysql.com/doc/mysql-replication-excerpt/5.7/en/replication-howto-repuser.htmlhttps://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto-repuser.htmlhttps://mariadb.com/kb/en/setting-up-replication/#example-enabling-replication-for-mariadb
Create user syntax compatible with auth plugin and password on both
mysql and mariadb.
https://dev.mysql.com/doc/refman/8.0/en/create-user.htmlhttps://mariadb.com/kb/en/create-user/
* Fix: test_mysql_replication: replica_status 'dict object' has no attribute 'Source_Host'
* Do not test mysql_replication_channel.yml on mariadb
* Do not test target 'test_mysql_role' with mariadb, too much errors to fix
* Setup mysql_version_parts depending on install type (mysql or mariadb)
* Install mariadb-client when install_type is mariadb
To use the same client tools as the database engine.
And to use a more updated mysqldump version, in order to fix this error:
ERROR 1556 (HY000) at line 776: You can't use locks with log tables
* Fix: mysql auth plugin is set on mariadb >10.2
* Fix: skip assertion on mariadb 10.2
* Do not execute test_user_plugin_auth.yml tests on mariadb, create/update useer sql syntax not compatible
* Fix: test_mysql_user : assert user1 TLS requirements
Remove test for oldd versions
* Fix: typo
* Fix: test_mysql_user : Test idempotency (expect ok) ignore mariadb 10.5
* [ci skip] Add changelog fragment
* Delete changelog fragment
* Remove all code related to VALID_PRIVS and get_valid_privs()
* Add tests to update user with invalid privs
* Re-raise InvalidPrivsError when granting privileges
* Fix: compatibility with python2
* More explicit assertions as commented by Andersson007
* Add changelog fragment
* initial commit
* removed remaining references to community.general
* enabled integration pipeline
* switched from preconfigured replication topology to simple multinode install
* updated version from 1.0.0 to 0.1.0