你怎么能failed_when
基于异步Ansible任务的stdout
?我尝试过各种变体:
- name: Run command
command: arbitrary_command
async: 3600
poll: 10
register: result
failed_when: "Finished 'command'" in result.stdout
这导致:
fatal: [localhost] => error while evaluating conditional: "Finished 'command'" in result.stdout
答案 0 :(得分:6)
任务完成后,使用async_status
获取异步任务的状态:
- name: Run command
command: arbitrary_command
async: 3600
poll: 10
register: result_async
- name: Check command
async_status: jid="{{ result_async.ansible_job_id }}"
register: result
failed_when: result.finished != 1 or "Finished 'command'" not in result.stdout