I was afraid of that. I'll start fresh.

role1/
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
└── tasks
    ├── task1.yml
    ├── task2.yml
    ├── main.yml
    └── task3.yml
    
role2/
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
└── tasks
    ├── task1.yml
    ├── task2.yml
    ├── main.yml
    └── task3.yml

# role2/meta/main.yml

---

dependencies:
  - { role: role1, *but only task1.yml of role1 and nothing else.* }

I was trying to accomplish using tags, as I have task1.yml role1 tagged, 
but you say this isn't possible. I need to call role1's task1.yml as a 
dependency within role2, not the entire role1.

On Thursday, July 2, 2015 at 10:39:53 AM UTC-4, Strahinja Kustudić wrote:
>
> I think I lost you now. If you could give us the role structure, 
> dependencies and what you would like to achieve, I think it will be easier 
> to help you out.
>
> On Thursday, July 2, 2015 at 4:26:23 PM UTC+2, Jacob Seeley wrote:
>>
>> Well, I'm already doing that inside *other_role*; however, I'm guessing 
>> if I make *other_role* a dependency of this other role and pass 
>> *some_var*, it's still going to try to execute all other tasks in 
>> *other_role*, including all other ones defined in their own yml and 
>> included in *other_role* main.yml
>>
>> Unless you're suggesting I somehow include this yml file that exists in 
>> *other_role* in the main.yml of the role that is dependent upon this 
>> task.
>>
>> And to be clear, I'm trying to make this happen so that I don't have to 
>> recreate this task in this other role.
>>
>> On Thursday, July 2, 2015 at 10:17:43 AM UTC-4, Strahinja Kustudić wrote:
>>>
>>> What you could do is group those task into a separate yml file and then 
>>> include them in the main.yml:
>>>
>>> include: some_var_tasks.yml
>>> when: some_var
>>>
>>>
>>>
>>> On Thursday, July 2, 2015 at 4:15:54 PM UTC+2, Jacob Seeley wrote:
>>>>
>>>> That's unfortunate. That would require me to set variables in all tasks 
>>>> on *other_role* that I would not have otherwise set, just so that I 
>>>> can pass a variable that triggers one task in *other_role*.
>>>>
>>>> On Thursday, July 2, 2015 at 9:52:27 AM UTC-4, Strahinja Kustudić wrote:
>>>>>
>>>>> Ansible doesn't support role dependency using tags. Tags are only used 
>>>>> for executing specific tasks which can be passes from the command line.
>>>>>
>>>>> To do what you want, you would have to define a variable in the 
>>>>> other_role and set a when: clause on all tasks when that variable is 
>>>>> true, 
>>>>> or set.
>>>>>
>>>>> On Thursday, July 2, 2015 at 3:46:21 PM UTC+2, Jacob Seeley wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I'd like to have one role be dependent upon another role's tag only. 
>>>>>> Here is what I am trying:
>>>>>>
>>>>>> # meta/main.yml
>>>>>>
>>>>>> ---
>>>>>>
>>>>>> dependencies:
>>>>>>   - { role: common }
>>>>>>   - { role: other_role, tags: ['other_role_autofs'] }
>>>>>>
>>>>>>
>>>>>>
>>>>>> *Expected Behaviour*All tasks in the role *common* are run
>>>>>> Only the role *other_role*' task with a tag of *other_role_autofs* 
>>>>>> is run
>>>>>>
>>>>>>
>>>>>> *Actual Behaviour*
>>>>>> All tasks in the role *common* are run
>>>>>> All tasks in the role *other_role *are run
>>>>>>
>>>>>

-- 
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/f033efe4-0fc1-4222-8c71-86a4e467eae6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to