Ansible 2.8.1
In my playbook tasks/
dir:
main.yml
dev.yml
In main.yml
I have a block like this:
- include_tasks: dev.yml
when: ec2_tag_env == 'dev'
It works fine
However, if I try to call a specific task within dev.yml using a tag. It won't qualify the task during the run
For example, this tagged task within dev.yml
:
- name: Pull the latest image
docker_image:
name: "{{ dev_image }}"
source: pull
tags:
- container
When I run the playbook with -t container
it will NOT qualify since the include_tasks
step doesn't have that tag.
Adding the tag to include_tasks
will of course fix the problem, but I would then need to keep track of tags as they get added to sub-tasks and add them here as well:
- include_tasks: dev.yml
when: ec2_tag_env == 'dev'
tags:
- container
Questions
Is it possible to have Ansible just "know" what tasks are within the
include_tasks
block and pull the applicable tags?What's the best practice for achieving this goal?
What I would prefer to not have to do:
- Put everything
main.yml
. I have so many tasks in this playbook I really want to keep them organized in files. - Tag all my
include_tasks
blocks with all its sub-tags manually. Sounds like a nightmare to manage.