I’ve got an Ansible playbook that I’m running against a custom inventory group I’ve created. The issue is that this group may or may not be empty. I only want Ansible to exit non-zero if it ran against a host (or hosts) and any of them failed (standard Ansible behavior), but I don’t want Ansible to exit non-zero if the group is empty (or if the group doesn’t exist).
The reason why I want it to exit 0 if no hosts match is that I’m running it from a CI system and exiting non-zero means the job failed, which is not true in the case of no hosts matching (it just means it had nothing to do).
Ah, I should have mentioned that in my playbook I have a hosts line like:
hosts: group1,group2,group3
… and then I limit by this custom group I mentioned (which may be empty or not exist at all). That’s when the playbook fails… when the --limit doesn’t match any host at all.
You did, however, give me an idea. By making my hosts like something like: