mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-27 18:50:21 -07:00
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
|
in more streamlined & auditable configuration rules -- especially because there are a
|
||||||
minimum of decision points to track.
|
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.
|
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
|
- action: shell /usr/bin/foo
|
||||||
register: result
|
register: result
|
||||||
until: register.stdout.find("all systems go") != -1
|
until: register.stdout.find("all systems go") != -1
|
||||||
retries: 5
|
retries: 5
|
||||||
delay: 10
|
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
|
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.
|
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 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.
|
The results will have a new key "attempts" which will have the number of the retries for the task.
|
||||||
|
|
||||||
.. note::
|
.. 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:
|
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
|
- action: shell /usr/bin/foo
|
||||||
register: result
|
register: result
|
||||||
until: register.stdout.find("all systems go") != -1
|
until: register.stdout.find("all systems go") != -1
|
||||||
retries: 5
|
retries: 5
|
||||||
delay: 10
|
delay: 10
|
||||||
failed_when: result.attempts == 5
|
failed_when: result.attempts == 5
|
||||||
|
|
||||||
|
|
||||||
Loops
|
Loops
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue