not sure why you need to encapsulate at role level, just put both plays in
same file.

you cannot do host selection at roles anyway, that is a play property

On Wed, Nov 5, 2014 at 10:00 AM, Torsten Reinhard <[email protected]>
wrote:

> Thanx, Brian,
>
> sounds like an easy solution - but what about encapsulation? I need to
> break down things than into
> - preparation steps (artifact to be downloaded)
> - roles that are executed - and depend on those artifacts
>
> Can I keep all "encapsulated" in one role ?
>
> Thx, Torsten
>
> Am Dienstag, 4. November 2014 14:19:18 UTC+1 schrieb Brian Coca:
>>
>> separate it into 2 plays, the first using hosts: localhost (or the
>> control server), this runs all the tasks you only want to run once
>> (downloads), the 2nd play can have the deploy to the target hosts.
>>
>> You can have multiple plays per file and per invocation.
>>
>> On Tue, Nov 4, 2014 at 7:00 AM, Torsten Reinhard <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> we are working on some playbooks that will deploy Maven artifacts
>>> (*.tar, *.zip) to our target environments.
>>> Due to the fact the target environment cannot directly access the Nexus
>>> Server (artifact repository) we need first to download them onto the
>>> control-machine
>>> - and copy/ synchronize from there to the target servers.
>>>
>>> When we implement the "download from Nexus" as just a simple task
>>> (inside a role) - it would be executed for each host when the playbook is
>>> run.
>>> for( host : hosts )
>>> {
>>>   task: download
>>>   task: copy to host
>>>   task: install to host
>>> }
>>>
>>> Is there any way to execute "run only once" tasks, before looping over
>>> all hosts is executed ?
>>>
>>> pre-task: download
>>> for( host : hosts )
>>> {
>>>   task: copy to host
>>>   task: install to host
>>> }
>>>
>>> Some kind of "hook" where we can put preparation tasks ?
>>>
>>> Thanx for any hints,
>>>
>>> Torsten
>>>
>>>  --
>>> 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/1c8a50dc-1d2d-4533-903a-
>>> 54570a935014%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/1c8a50dc-1d2d-4533-903a-54570a935014%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Brian Coca
>>
>  --
> 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/7f94f1f9-6ab3-415a-852a-499cb63f85b4%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/7f94f1f9-6ab3-415a-852a-499cb63f85b4%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Brian Coca

-- 
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/CAJ5XC8nhu9AHeB%3D5TWZju5Bp%2Bmt6xY5sfxC3W5KMeSwN02jzOA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to