From 0957768755f6d9eb1b93641326fc3ce93f19c497 Mon Sep 17 00:00:00 2001 From: Balazs Pocze Date: Mon, 1 Dec 2014 15:16:40 +0100 Subject: [PATCH 1/3] gtid_replication parameter added to keep this module working in environments which are using GTID replication --- database/mysql/mysql_replication.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/database/mysql/mysql_replication.py b/database/mysql/mysql_replication.py index b93150a43b5..9ee71aa6021 100644 --- a/database/mysql/mysql_replication.py +++ b/database/mysql/mysql_replication.py @@ -103,7 +103,10 @@ options: master_ssl_cipher: description: - same as mysql variable - + gtid_replication: + descrtiption: + - does the host uses GTID based replication or not + possible values: 0,1 ''' EXAMPLES = ''' @@ -232,6 +235,7 @@ def main(): login_host=dict(default="localhost"), login_unix_socket=dict(default=None), mode=dict(default="getslave", choices=["getmaster", "getslave", "changemaster", "stopslave", "startslave"]), + gtid_replication=dict(default=None, choices=['0', '1']), master_host=dict(default=None), master_user=dict(default=None), master_password=dict(default=None), @@ -268,6 +272,7 @@ def main(): master_ssl_cert = module.params["master_ssl_cert"] master_ssl_key = module.params["master_ssl_key"] master_ssl_cipher = module.params["master_ssl_cipher"] + gtid_replication = module.params["gtid_replication"] if not mysqldb_found: module.fail_json(msg="the python mysqldb module is required") @@ -364,6 +369,8 @@ def main(): if master_ssl_cipher: chm.append("MASTER_SSL_CIPHER=%(master_ssl_cipher)s") chm_params['master_ssl_cipher'] = master_ssl_cipher + if gtid_replication: + chm.append("MASTER_AUTO_POSITION = 1") changemaster(cursor, chm, chm_params) module.exit_json(changed=True) elif mode in "startslave": From 14cf26f520a1d0b053024343158bb563f446a08e Mon Sep 17 00:00:00 2001 From: Balazs Pocze Date: Tue, 14 Apr 2015 17:35:13 -0700 Subject: [PATCH 2/3] gtid_replication parameter changed to master_auto_position to keep the same variable name as the MySQL server itself --- database/mysql/mysql_replication.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/database/mysql/mysql_replication.py b/database/mysql/mysql_replication.py index 9ee71aa6021..1bbbb1688db 100644 --- a/database/mysql/mysql_replication.py +++ b/database/mysql/mysql_replication.py @@ -103,7 +103,7 @@ options: master_ssl_cipher: description: - same as mysql variable - gtid_replication: + master_auto_position: descrtiption: - does the host uses GTID based replication or not possible values: 0,1 @@ -235,7 +235,7 @@ def main(): login_host=dict(default="localhost"), login_unix_socket=dict(default=None), mode=dict(default="getslave", choices=["getmaster", "getslave", "changemaster", "stopslave", "startslave"]), - gtid_replication=dict(default=None, choices=['0', '1']), + master_auto_position=dict(default=None, choices=['0', '1']), master_host=dict(default=None), master_user=dict(default=None), master_password=dict(default=None), @@ -272,7 +272,7 @@ def main(): master_ssl_cert = module.params["master_ssl_cert"] master_ssl_key = module.params["master_ssl_key"] master_ssl_cipher = module.params["master_ssl_cipher"] - gtid_replication = module.params["gtid_replication"] + master_auto_position = module.params["master_auto_position"] if not mysqldb_found: module.fail_json(msg="the python mysqldb module is required") @@ -369,7 +369,7 @@ def main(): if master_ssl_cipher: chm.append("MASTER_SSL_CIPHER=%(master_ssl_cipher)s") chm_params['master_ssl_cipher'] = master_ssl_cipher - if gtid_replication: + if master_auto_position: chm.append("MASTER_AUTO_POSITION = 1") changemaster(cursor, chm, chm_params) module.exit_json(changed=True) From c2ae5d8e4cfde2b68e02b7452d6b2718571c0c65 Mon Sep 17 00:00:00 2001 From: Balazs Pocze Date: Wed, 15 Apr 2015 13:45:26 -0700 Subject: [PATCH 3/3] Changes made as modifying master_auto_position parameter type to bool --- database/mysql/mysql_replication.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/database/mysql/mysql_replication.py b/database/mysql/mysql_replication.py index 1bbbb1688db..f61a6c09dd1 100644 --- a/database/mysql/mysql_replication.py +++ b/database/mysql/mysql_replication.py @@ -106,7 +106,6 @@ options: master_auto_position: descrtiption: - does the host uses GTID based replication or not - possible values: 0,1 ''' EXAMPLES = ''' @@ -235,7 +234,7 @@ def main(): login_host=dict(default="localhost"), login_unix_socket=dict(default=None), mode=dict(default="getslave", choices=["getmaster", "getslave", "changemaster", "stopslave", "startslave"]), - master_auto_position=dict(default=None, choices=['0', '1']), + master_auto_position=dict(default=False, type='bool'), master_host=dict(default=None), master_user=dict(default=None), master_password=dict(default=None),