automember: Use execute_ipa_commands

execute_ipa_commands replces the check mode exit, the loop over the
generated commands and also in the member failure handling for modules
with member support.
This commit is contained in:
Thomas Woerner
2021-09-03 18:44:15 +02:00
parent 917b3b62c7
commit e6f0eb2395

View File

@@ -390,32 +390,16 @@ def main():
commands.append([None, 'automember_rebuild', commands.append([None, 'automember_rebuild',
{"hosts": rebuild_hosts}]) {"hosts": rebuild_hosts}])
# Check mode exit # Execute commands
if ansible_module.check_mode:
ansible_module.exit_json(changed=len(commands) > 0, **exit_args)
for name, command, args in commands: changed = ansible_module.execute_ipa_commands(commands)
try:
if name is None:
result = ansible_module.ipa_command_no_name(command, args)
else:
result = ansible_module.ipa_command(command, name, args)
if "completed" in result: # result["failed"] is used only for INCLUDE_RE, EXCLUDE_RE
if result["completed"] > 0: # if entries could not be added that are already there and
changed = True # if entries could not be removed that are not there.
else: # All other issues like invalid attributes etc. are handled
changed = True # as exceptions. Therefore the error section is not here as
except Exception as ex: # in other modules.
ansible_module.fail_json(msg="%s: %s: %s" % (command, name,
str(ex)))
# result["failed"] is used only for INCLUDE_RE, EXCLUDE_RE
# if entries could not be added that are already there and
# it entries could not be removed that are not there.
# All other issues like invalid attributes etc. are handled
# as exceptions. Therefore the error section is not here as
# in other modules.
# Done # Done
ansible_module.exit_json(changed=changed, **exit_args) ansible_module.exit_json(changed=changed, **exit_args)