Not sure if this has been asked before, but I needed to include some playbooks conditionally, each of these was a top level that ran on different hosts:
-
include: play1.yml
when: “'var1 in some_list” -
include: play2.yml
when: “‘var2’ in some_list”
But apparently this doesn’t work, no errors are generated, but the playbooks are always inlcuded and run even when the condition is false. So I took my conditions to another level inside and applied them to roles:
(play1.yml)
- hosts: hosts
user: root
roles: - { role: role1, when: “'var1 in some_list” }
- { role: role2, when: “'var1 in some_list” }
But this results in a whole lot of skipped output in the run. There must a cleaner way to do this?
Thanks