On 03/18/14 16:20, Michael DeHaan wrote: > "Being it a command line option does not help, because you do not know > before running the command that any of your tasks is going to fail and > how." > > Incorrect, because you would use this when running the retry command only. > Well, it did not occur to me that you could actually use that option _after_ the failure. :-[ However, I think that a more controllable tool to run handlers selectively could be more powerful for recovering from unexpected deployment failures. For example, have ansible generate a file with a list of notified but not executed handlers, which you can edit as you want and then pass it to a '--handlers-file' option, in a similar fashion to how limit files work for limiting hosts.
> > > > > On Tue, Mar 18, 2014 at 10:18 AM, Petros Moisiadis <[email protected] > <mailto:[email protected]>> wrote: > > On 03/18/14 14:44, Michael DeHaan wrote: >> "For example, if a task that changes a server's configuration >> fails, forcing the execution of a handler that reloads/restarts >> the server could lead to the server failing to operate properly >> or be able to serve at all. " >> >> This is why it's a command line option to be used only when desired. >> > Being it a command line option does not help, because you do not > know before running the command that any of your tasks is going to > fail and how. > > I think that the correct analysis of the problem is like this: > > You have designed a sequence of deployment tasks that should be > run in a specific order. Your task specification language (ansible > playbook) does not know what is the best thing to do if task > execution is abnormally interrupted. Only you, the ansible user, > will be able to know what should be done. Normally you expect > everything to run fine, but, if something goes wrong (and things > can still go wrong on production deployments, even after passed > tests), you want your action to stop as early as possible. At the > same time you want to have the tools that will help you to > mitigate the problems caused by the abnormal interruption. And you > want full control over these tools. You do not want the tools to > decide for you on what should be done. You are the one to decide, > and you can't do so before you actually see what and how it failed. > > So, you need a tool to run already notified handlers (or part of > them), but you will use it only if it is good for the health of > your system. You cannot decide about that until you actually see > what happened. > >> >> >> >> On Tue, Mar 18, 2014 at 8:22 AM, Petros Moisiadis >> <[email protected] <mailto:[email protected]>> wrote: >> >> On 03/17/14 15:51, Michael DeHaan wrote: >>> There was a post about this last week about adding a >>> --force-handlers statement. >>> >>> This can be done though we're currently chasing some other >>> items presently. >>> >>> Pull requests would be welcome. >>> >>> >>> >>> >>> On Sat, Mar 15, 2014 at 1:12 PM, Julio Monteiro >>> <[email protected] <mailto:[email protected]>> >>> wrote: >>> >>> Hello all, >>> >>> I am curious if/how Ansible plans on solving the "replay >>> notifications" issue. I am having the exact same issue >>> as reported on this StackOverflow question (the author >>> does a great job describing the issue): >>> >>> http://stackoverflow.com/questions/21538516/ansible-how-to-replay-notifications >>> >>> I find that it is easy to prevent that by, instead of >>> using notifications, using tasks with "when:" >>> statements. But I really find that this is a workaround >>> and notifications are great and easy features -- it >>> should be a default way to replay them, or at least have >>> a list of queued-but-not-executed notifications whenever >>> a task fails. >>> >>> Thanks, >>> jmonteiro >>> -- >>> 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] >>> <mailto:[email protected]>. >>> To post to this group, send email to >>> [email protected] >>> <mailto:[email protected]>. >>> To view this discussion on the web visit >>> >>> https://groups.google.com/d/msgid/ansible-project/64e1dbe8-5b36-4e6b-b521-f086d2952008%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/ansible-project/64e1dbe8-5b36-4e6b-b521-f086d2952008%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] >>> <mailto:[email protected]>. >>> To post to this group, send email to >>> [email protected] >>> <mailto:[email protected]>. >>> To view this discussion on the web visit >>> >>> https://groups.google.com/d/msgid/ansible-project/CAEVJ8QNy-TU-EmK_i8%2BZLDMD9DFqC-UfvG4OAAc9J7sY6amSgQ%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/ansible-project/CAEVJ8QNy-TU-EmK_i8%2BZLDMD9DFqC-UfvG4OAAc9J7sY6amSgQ%40mail.gmail.com?utm_medium=email&utm_source=footer>. >>> >>> >>> For more options, visit https://groups.google.com/d/optout. >> >> Usually the task that notifies a handler has made some >> changes that affect the behavior of systems involved by the >> actions being taken in the handler. If the notifying task >> fails, but its handler is forced to run, then the behavior of >> the involved systems could be unpredictable or unwanted. For >> example, if a task that changes a server's configuration >> fails, forcing the execution of a handler that >> reloads/restarts the server could lead to the server failing >> to operate properly or be able to serve at all. So, I think >> that a '--force-handlers' option is quite risky and could >> lead to unpredictable behavior. It would be better to let >> users control the (selective) replaying of the handlers only >> _after_ the failure occurs. >> -- >> 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] >> <mailto:[email protected]>. >> To post to this group, send email to >> [email protected] >> <mailto:[email protected]>. >> To view this discussion on the web visit >> >> https://groups.google.com/d/msgid/ansible-project/53283A78.8000207%40yahoo.gr >> >> <https://groups.google.com/d/msgid/ansible-project/53283A78.8000207%40yahoo.gr?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] >> <mailto:[email protected]>. >> To post to this group, send email to >> [email protected] >> <mailto:[email protected]>. >> To view this discussion on the web visit >> >> https://groups.google.com/d/msgid/ansible-project/CAEVJ8QNYsfvGxhGfMhCzBGVoh7p1i0qpG7bJaHMU%3D9empnhnEw%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/ansible-project/CAEVJ8QNYsfvGxhGfMhCzBGVoh7p1i0qpG7bJaHMU%3D9empnhnEw%40mail.gmail.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] > <mailto:[email protected]>. > To post to this group, send email to > [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > > https://groups.google.com/d/msgid/ansible-project/532855CE.7040309%40yahoo.gr > > <https://groups.google.com/d/msgid/ansible-project/532855CE.7040309%40yahoo.gr?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] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/CAEVJ8QOM09Gi23MT4A-kX8yOBX%2Bfc0%2BNC%3DO54BDjvQoq8gDdtg%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAEVJ8QOM09Gi23MT4A-kX8yOBX%2Bfc0%2BNC%3DO54BDjvQoq8gDdtg%40mail.gmail.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/53285AF2.3040604%40yahoo.gr. For more options, visit https://groups.google.com/d/optout.
