Team,
My below task is supposed to failed based on string in output but its not. what am i missing?
Validate all nodes have labels
should fail.
- name: "list node labels"
debug:
var: nodeType_label_info.stdout_lines
- name: "Validate all nodes have labels"
debug:
var: nodeType_label_info.stdout_lines
failed_when: '"does not have" in {{ item }}'
with_items: nodeType_label_info.stdout_lines
#failed_when: nodeType_label_info.stdout_lines is not search('does not have')
TASK [: list node labels] ***************************************************************************************************************************************
Tuesday 17 December 2019 06:29:45 +0000 (0:00:01.449) 0:00:01.598 ******
ok: [localhost] => {
"nodeType_label_info.stdout_lines": [
"nodeTyp=test",
"node2 does not have nodeType label"
]
}
TASK [: Validate all nodes have labels] *************************************************************************************************************************
Tuesday 17 December 2019 06:29:45 +0000 (0:00:00.210) 0:00:01.808 ******
[WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: "does not have" in {{ item }}
ok: [localhost] => (item=nodeType_label_info.stdout_lines) => {
"ansible_loop_var": "item",
"failed_when_result": false,
"item": "nodeType_label_info.stdout_lines",
"nodeType_label_info.stdout_lines": [
"nodeTyp=test",
"node1 does not have nodeType label"
]
}