Update playbooks2.rst
This commit is contained in:
parent
daf2f49116
commit
16d0320408
1 changed files with 20 additions and 17 deletions
|
@ -461,17 +461,17 @@ from turning into arbitrary code with ugly nested ifs, conditionals, and so on -
|
|||
in more streamlined & auditable configuration rules -- especially because there are a
|
||||
minimum of decision points to track.
|
||||
|
||||
Do/Until
|
||||
Do-Until
|
||||
````````
|
||||
|
||||
Sometimes you would want to retry a task till a certain condition is met, In such conditions the Do/Until feature will help.
|
||||
Here's an example which show's the syntax to be applied for the task.
|
||||
Here's an example which show's the syntax to be applied for the task.::
|
||||
|
||||
- action: shell /usr/bin/foo
|
||||
register: result
|
||||
until: register.stdout.find("all systems go") != -1
|
||||
retries: 5
|
||||
delay: 10
|
||||
- action: shell /usr/bin/foo
|
||||
register: result
|
||||
until: register.stdout.find("all systems go") != -1
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
The above example run the shell module recursively till the module's result has "all systems go" in it's stdout or the task has
|
||||
been retried for 5 times with a delay of 10 seconds. The default value for "retries" is 3 and "delay" is 5.
|
||||
|
@ -479,16 +479,19 @@ been retried for 5 times with a delay of 10 seconds. The default value for "retr
|
|||
The task returns the results returned by the last task run. The results of individual retries can be viewed by -vv option.
|
||||
The results will have a new key "attempts" which will have the number of the retries for the task.
|
||||
|
||||
.. note::
|
||||
The Do/Until does not take decision on whether to fail or pass the play when the maximum retries are completed, the user can
|
||||
can do that in the next task as follows:
|
||||
.. Note::
|
||||
|
||||
- action: shell /usr/bin/foo
|
||||
register: result
|
||||
until: register.stdout.find("all systems go") != -1
|
||||
retries: 5
|
||||
delay: 10
|
||||
failed_when: result.attempts == 5
|
||||
The Do/Until does not take decision on whether to fail or pass the play when the maximum retries are completed, the user can
|
||||
can do that in the next task as follows.
|
||||
|
||||
Example::
|
||||
|
||||
- action: shell /usr/bin/foo
|
||||
register: result
|
||||
until: register.stdout.find("all systems go") != -1
|
||||
retries: 5
|
||||
delay: 10
|
||||
failed_when: result.attempts == 5
|
||||
|
||||
|
||||
Loops
|
||||
|
|
Loading…
Reference in a new issue