From 450cb19027aa4385b798df39cf6d91086f4816bd Mon Sep 17 00:00:00 2001 From: Andrew Klychkov Date: Thu, 21 Apr 2022 18:43:08 +0300 Subject: [PATCH] mysql_replication: fix failing when using primary_use_gtid with replica_ or slave_pos (#336) --- changelogs/fragments/0-mysql_replication_replica_pos.yml | 2 ++ plugins/modules/mysql_replication.py | 2 ++ .../test_mysql_replication/tasks/mysql_replication_initial.yml | 1 + 3 files changed, 5 insertions(+) create mode 100644 changelogs/fragments/0-mysql_replication_replica_pos.yml diff --git a/changelogs/fragments/0-mysql_replication_replica_pos.yml b/changelogs/fragments/0-mysql_replication_replica_pos.yml new file mode 100644 index 0000000..db59f3a --- /dev/null +++ b/changelogs/fragments/0-mysql_replication_replica_pos.yml @@ -0,0 +1,2 @@ +bugfixes: +- mysql_replication - fails when using the `primary_use_gtid` option with `slave_pos` or `replica_pos` (https://github.com/ansible-collections/community.mysql/issues/335). diff --git a/plugins/modules/mysql_replication.py b/plugins/modules/mysql_replication.py index 3316694..46895e3 100644 --- a/plugins/modules/mysql_replication.py +++ b/plugins/modules/mysql_replication.py @@ -532,6 +532,8 @@ def main(): replica_term = 'REPLICA' else: replica_term = 'SLAVE' + if primary_use_gtid == 'replica_pos': + primary_use_gtid = 'slave_pos' if mode == 'getprimary': status = get_primary_status(cursor) diff --git a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml index 050e952..7f6e554 100644 --- a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml +++ b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml @@ -75,6 +75,7 @@ <<: *mysql_params login_port: '{{ mysql_replica1_port }}' mode: startreplica + primary_use_gtid: replica_pos fail_on_error: yes register: result ignore_errors: yes