I have a main.yaml like below:
- import_playbook: 1.yaml
- import_playbook: 2.yaml
vars:
allow2: False
when: allow2
I want the playbook 2.yaml can be skipped totally (not try to execute any tasks inside 2.yaml).
But it looks all tasks in 2.yaml will be called but not executed.
File 1.yaml:
- name: Go1
hosts: test
gather_facts: false
tasks:
- debug: msg="Message from 1.yaml"
File 2.yaml:
- name: Go2
hosts: test
gather_facts: false
tasks:
- debug: msg="Message from 2.yaml"
The output is:
$ ansible-playbook main.yaml
PLAY [Go1] ***********
TASK [debug] *********
Thursday 05 October 2017 03:10:12 -0400 (0:00:00.116) 0:00:00.116 ******
ok: [test1] => {}
MSG:
Message from 1.yaml
PLAY [Go2] ************
TASK [debug] ************
Thursday 05 October 2017 03:10:12 -0400 (0:00:00.090) 0:00:00.206 ******
skipping: [test1]
The you can say the task in 2.yaml also was called but skipped.
But I want no any tasks will be called in 2.yaml.
Is it possible?