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 [email protected].
To post to this group, send email to [email protected].
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