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":