If condition fails it should not go for the next step and exit from there only.
In following situation, when: C != test_val it should exit from here only instead of going to the next step. How can i achieve this.
-
name: Set the output of the this state
set_fact: A=“{{image_avl.stdout}}”
tags: avl1
-
name: Define our static value for the desired image number
set_fact: B={{retain}}
tags: num2
-
name: difference
set_fact: C = {{A}} - {{B}}
tags: del1
-
name: set the desire value
set_fact: test_val=1
tags: fact2
-
name: condition1
action: sending email here
when: C != test_val
tags: message
-
name: condition2
-
name: condition3
If condition fails it should not go for the next step and exit from there
only.
In following situation, when: C != test_val it should exit from here
only instead of going to the next step. How can i achieve this.
- name: Set the output of the this state
set_fact: A="{{image_avl.stdout}}"
tags: avl1
- name: Define our static value for the desired image number
set_fact: B={{retain}}
tags: num2
- name: difference
set_fact: C = {{A}} - {{B}}
tags: del1
I don't think this will work, you need to have in inside one {{ }} par.
set_fact: C = {{ A - B }}
You also might need to filter A and/or B through filter int or float depending on data type.
- name: set the desire value
set_fact: test_val=1
tags: fact2
- name: condition1
action: sending email here
when: C != test_val
tags: message
Just add a fail task:
- fail: msg="Failed because {{ C }} not equal to {{ test_val }}"
when: C != test_val
I tried with fail and it works.
Is this works when we set any_errors_fatal: true
Madhu
(Madhu)
4
you can also use “assert” and the execution stops right there and it will not execute any tasks further