My Ansible Задача завершается неудачно с ложным условием при условии (задача должна завершиться ошибкой, только если условие «когда» истинно)
My Playbook
- name: 'Check if any task is existing'
command: aws ecs list-tasks --cluster mycluster --query length(taskArns[*])
register: ecs_tasks
- name: 'Fail playbook if some task is already existing in cluster'
fail:
msg: "There is already an existing task in mycluster"
when: ecs_tasks.stdout != 0
- name: 'Create Ranger task'
command: create ECS task
register: ecs_task
Вывод
"stderr": "",
"stderr_lines": [],
"stdout": "0",
"stdout_lines": [
"0"
]
}
TASK [Fail playbook if some task is already existing in cluster] ***************
task path: /home/somepath/Task.yml:35
fatal: [127.0.0.1]: FAILED! => {
"changed": false,
"msg": "There is already an existing task in mycluster"
}
PLAY RECAP *********************************************************************
09:09:38 127.0.0.1 : ok=5 changed=4 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Это какая-то проблема с моим форматом условия when, потому что я пробовал различные условия, такие как> 0 и> = 1, но не повезло, поскольку он все еще не работает (в моем кластере ECS нет задач), а также AWS Команда CLI возвращает
aws ecs list-tasks --cluster mycluster --query length(taskArns[*])
0