This might work:
---
- hosts: all
tasks:
- name: my block
block:
- name: Local role
include_role:
name: roles/test1
apply:
delegate_to: localhost
- name: Remote role
include_role:
name: roles/test2
always:
- name: Another local role
include_role:
name: roles/test3
apply:
delegate_to: localhost
On Mon, 5 Oct 2020 at 20:37, [email protected] <[email protected]> wrote:
>
> Hi Dick,
>
> True, that's a single play. But how could I achieve the block/always behavior
> with separate plays per host? The inventory is dynamically loaded, not an
> issue, but I don't know how to make sure that role C is executed on localhost
> no matter what.
>
> [email protected] schrieb am Montag, 5. Oktober 2020 um 18:03:35 UTC+2:
>>
>> This is one play.
>> Add separate plays for localhost etc.
>>
>>
>> On Mon, 5 Oct 2020 at 17:44, [email protected] <[email protected]> wrote:
>>>
>>> Hi guys,
>>>
>>> I have 3 roles:
>>> - role A: which needs to be executed on localhost
>>> - role B: which needs to run on a remote host
>>> - role C: which is a rescue role that cleans up some things which role A
>>> did on localhost (this one should always run, especially if some task
>>> failed in one of the other roles)
>>>
>>> How could I achieve this?
>>>
>>> The closest I've been was something like:
>>>
>>> ```
>>> - hosts: all
>>> tasks:
>>> - block:
>>> - include_role:
>>> name: role A
>>> - include_role:
>>> name: role B
>>> always:
>>> - include_role:
>>> name: role C
>>> ```
>>>
>>> but this of course has no posibilty of changing the hosts against which it
>>> is run ('localhost' is not 'all' being the problem)
>>>
>>> --
>>> 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 view this discussion on the web visit
>>> https://groups.google.com/d/msgid/ansible-project/9b9d54eb-14a4-4a25-bb7c-2621c6aed25bn%40googlegroups.com.
>>
>> --
>> Sent from a mobile device - please excuse the brevity, spelling and
>> punctuation.
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/55be225d-0b41-4e7c-b870-ec0b170c3ae9n%40googlegroups.com.
--
Dick Visser
Trust & Identity Service Operations Manager
GÉANT
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAL8fbwOj%3DpEDfStONqXPqF6aKAChu7pp%3Dkevv7gj6x0SXwXyYg%40mail.gmail.com.