Fix mysqldump usage of config_file

This commit is contained in:
Toshio Kuratomi 2015-12-17 11:35:44 -08:00
parent c75c000369
commit b4a3fdd493

View file

@ -103,7 +103,9 @@ def db_delete(cursor, db):
def db_dump(module, host, user, password, db_name, target, all_databases, port, config_file, socket=None, ssl_cert=None, ssl_key=None, ssl_ca=None): def db_dump(module, host, user, password, db_name, target, all_databases, port, config_file, socket=None, ssl_cert=None, ssl_key=None, ssl_ca=None):
cmd = module.get_bin_path('mysqldump', True) cmd = module.get_bin_path('mysqldump', True)
# If defined, mysqldump demands --defaults-extra-file be the first option # If defined, mysqldump demands --defaults-extra-file be the first option
cmd += " --defaults-extra-file=%s --quick" % pipes.quote(config_file) if config_file:
cmd += " --defaults-extra-file=%s" % pipes.quote(config_file)
cmd += " --quick"
if user is not None: if user is not None:
cmd += " --user=%s" % pipes.quote(user) cmd += " --user=%s" % pipes.quote(user)
if password is not None: if password is not None:
@ -145,7 +147,8 @@ def db_import(module, host, user, password, db_name, target, all_databases, port
cmd = [module.get_bin_path('mysql', True)] cmd = [module.get_bin_path('mysql', True)]
# --defaults-file must go first, or errors out # --defaults-file must go first, or errors out
cmd.append("--defaults-extra-file=%s" % pipes.quote(config_file)) if config_file:
cmd.append("--defaults-extra-file=%s" % pipes.quote(config_file))
if user: if user:
cmd.append("--user=%s" % pipes.quote(user)) cmd.append("--user=%s" % pipes.quote(user))
if password: if password:
@ -270,6 +273,8 @@ def main():
module.fail_json(msg="unable to find %s. Exception message: %s" % (config_file, e)) module.fail_json(msg="unable to find %s. Exception message: %s" % (config_file, e))
changed = False changed = False
if not os.path.exists(config_file):
config_file = None
if db_exists(cursor, db): if db_exists(cursor, db):
if state == "absent": if state == "absent":
try: try: