Hi all,

As discussed previously on this list, the idea of blocks will be coming to
a future release of Ansible.

The 'v2/' subtree refactoring is intended to enable such capabilities as
try/except type blocks.

Until then, the "when" feature, along with ignore_errors, etc, is available.



On Fri, Nov 14, 2014 at 3:57 AM, Sankalp Khare <[email protected]>
wrote:

> But even this workaround has obvious flaws. What if one of these tasks
> itself were to fail? Say the instance was registered with the requisite
> Load Balancer, but then for some reason the DNS record creation failed. In
> that case it would be really handy to be able to undo the Load Balancer
> registration right there, before finishing the playbook run.
>
> I really hope this sounds like something useful and worth adding.
>
> Thanks!
>
> On Friday, 14 November 2014 02:53:06 UTC-6, Sankalp Khare wrote:
>>
>> Also note that using tasks labelled with when:
>> <some-registered-variable>|failed doesn't cover my use case since it
>> would require me to register the results of each and every task (inside
>> roles too?) in the event of whose failure I want to trigger my
>> rollback/cleanup actions. This approach seems neither practical nor elegant.
>>
>> A workaround that I'm planning to use right now is to shift actions like
>>
>>    1. Load Balancer Registration
>>    2. DNS Record Creation/Update
>>    3. Enabling of Termination Protection
>>
>> and so on... to the end of my playbooks, so that they are only run on
>> hosts for which all else has completed without failure.
>>
>> Still, the original feature request seems like a useful thing to have.
>>
>> On Friday, 14 November 2014 02:45:39 UTC-6, Sankalp Khare wrote:
>>>
>>> I am using ansible to create instances in EC2. I set
>>> disableApiTermination to true using an AWS CLI invocation for each
>>> instance that I create (On that note, I hope https://github.com/
>>> ansible/ansible-modules-core/pull/205 gets accepted into the devel
>>> branch soon).
>>>
>>> However, I would like to unset it for any instances for which playbook
>>> execution fails. So that I may terminate those instances promptly after the
>>> playbook run. In fact if this facility were to be added to ansible, I could
>>> even put the termination call right there, so that at the end of the
>>> playbook run, I would only have the instances for which everything ran
>>> smoothly, and the ones for which things failed would have already been
>>> terminated.
>>>
>>> So basically I am looking for the equivalent of an except block,
>>> something that would allow me to define tasks (even roles perhaps?) for
>>> inventory items that registered failure and for which ansible would stop
>>> executing the rest of the playbook. This could be helpful in any kind of
>>> cleanup/rollback task.
>>>
>>> If there is already something that allows doing this, I would appreciate
>>> pointers towards it.
>>>
>>> Regards,
>>> Sankalp
>>>
>>  --
> 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/b154cb51-57c1-4e39-869a-6adf56983bb8%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/b154cb51-57c1-4e39-869a-6adf56983bb8%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

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

Reply via email to