Add more modes to the mysql_replication module

Fixes #979
reviewable/pr18780/r1
Mischa ter Smitten 9 years ago
parent ea1bd0b078
commit a65965e38e

@ -42,6 +42,8 @@ options:
- changemaster - changemaster
- stopslave - stopslave
- startslave - startslave
- resetslave
- resetslaveall
default: getslave default: getslave
login_user: login_user:
description: description:
@ -165,6 +167,24 @@ def stop_slave(cursor):
return stopped return stopped
def reset_slave(cursor):
try:
cursor.execute("RESET SLAVE")
reset = True
except:
reset = False
return reset
def reset_slave_all(cursor):
try:
cursor.execute("RESET SLAVE ALL")
reset = True
except:
reset = False
return reset
def start_slave(cursor): def start_slave(cursor):
try: try:
cursor.execute("START SLAVE") cursor.execute("START SLAVE")
@ -400,6 +420,18 @@ def main():
module.exit_json(msg="Slave stopped", changed=True) module.exit_json(msg="Slave stopped", changed=True)
else: else:
module.exit_json(msg="Slave already stopped", changed=False) module.exit_json(msg="Slave already stopped", changed=False)
elif mode in "resetslave":
reset = reset_slave(cursor)
if reset is True:
module.exit_json(msg="Slave reset", changed=True)
else:
module.exit_json(msg="Slave already reset", changed=False)
elif mode in "resetslaveall":
reset = reset_slave_all(cursor)
if reset is True:
module.exit_json(msg="Slave reset", changed=True)
else:
module.exit_json(msg="Slave already reset", changed=False)
# import module snippets # import module snippets
from ansible.module_utils.basic import * from ansible.module_utils.basic import *

Loading…
Cancel
Save