On Wednesday, 15 November 2017 15.58.47 CET DigitalHermit wrote:
> Hello all:
>    I've been Googling for a couple hours trying to find a way to pass tags 
> to a role from within a playbook.

That's not possible.


> I've tried:
> 
> Inside my utility role main.yml:
> 
> - name: "Task 1"
>   include: task1.yml
>   tags: utility_task1
> 
> - name: "Task 2"
>   include: task2.yml
>   tags: utility_task2
>   
> - name: "Task 3"
>   include: task3.yml
>   tags: utility_task3
>  
> 
> This works fine if I pass the tag from the command line:  ansible-playbook 
> playbooks/foo.yml -t "utility_task2"

This is the only 

> 
> However, it does not work when called from a playbook like this:
> 
>   roles:
>   - { role: utility, tags: "utility_task2" }

What you do here is adding the tag utility_task2 to all task in the role 
utility.

As the documentation[1] say
"Adding “tags:” in any part of a play (including roles) adds those tags to the 
contained tasks."


> Google searches show there is an ansible.cfg setting for "gathering=smart" 
> or "gathering=implicit" that can change the behaviour but so far neither 
> seems to make a difference. 

These setting has nothing to do with tags, they are for configuring facts 
gathering.


> My workaround is currently to set an extra variable (e.g., --extra-vars 
> "utility_task=task1" ) then use a when: on each separate task. This works 
> but the output is very messy: I.e., it prints a "skipping:" message for 
> every other task in the role. As the number of separate tasks in a role 
> grow, these skips will rise exponentially. 
> 
> Is there a cleaner, Ansible way to do this?  

Maybe, there's always many ways to tackle a challenge.
Since you haven't shared the specifics it impossible to be specific.


[1] https://docs.ansible.com/ansible/latest/playbooks_tags.html

-- 
Kai Stian Olstad

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/1766952.zzR0pqEIEJ%40x1.
For more options, visit https://groups.google.com/d/optout.

Reply via email to