Hey Dick,

This seems to be exactly what I need, thanks a lot!

Right now I'm having issues on a different point:

```
- hosts: all
  tasks:
    - name: Role A
      block:
        - name: Do A
          include_role:
            name: roleA
            apply:
              delegate_to:
                localhost
        - name: Refresh Inventory
          meta: refresh_inventory
        - name: Do remote Role B
          include_role:
            name: roleB
      always:
        - name: Clean up
          include_role:
            name: roleC
```

I have a custom inventory plugin which needs to be refreshed after role A.
It seems though that the meta action interrupts execution there, not even
the always block getting executed anymore. I'm opening an issue with
Ansible on this.

Am Di., 6. Okt. 2020 um 09:46 Uhr schrieb Dick Visser <[email protected]
>:

> 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 a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/ve_fFg3wgvM/unsubscribe.
> To unsubscribe from this group and all its topics, 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
> .
>

-- 
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/CAGZTLZpjKuf%3DeTFNV9iZV2L-twU2Rybc6TQNcQ-r4VfqEo5iPw%40mail.gmail.com.

Reply via email to