检查异步Ansible任务的标准输出

时间:2016-05-03 09:04:47

标签: ansible

你怎么能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

1 个答案:

答案 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