Я хочу выполнить асинхронную задачу через ansible, ниже приведен синтаксис, который я использую
- name: Create Virtual Machines
ansi_generate:
verb: 'generate_vm'
type: 'generate'
body: "{{ create_vm_inputs }}"
async: "{{ env.asyncRunTime}}"
poll: "{{ env.asyncPollTime}}"
register: create_vm_out
failed_when: create_vm_out.meta.status == "failed"
ansi_generate
- это пользовательский модуль Ansible, который принимает verb
, type
и body
в качестве входных данных и генерирует выходные данные, которые сохраняются в create_vm_out
Поскольку это асинхронная задача, я даю асинхронное время 3600 (1 час)и время опроса 60 (сек)
Но в книге воспроизведения ошибка с ошибкой ниже
fatal: [127.0.0.1]: FAILED! => {"failed": true, "msg": "The conditional check 'create_vm_out.meta.status == \"failed\"' failed. The error was: error while evaluating conditional (create_vm_out.meta.status == \"failed\"): 'dict object' has no attribute 'meta'"}
Я записал отладочное сообщение, как показано ниже:
- debug:
msg: "{{ create_vm_out }}"
Выводэто:
ok: [127.0.0.1] => {
"msg": {
"ansible_job_id": "377685088849.225705",
"changed": false,
"finished": 1,
"meta": {
"error_message": null,
"output": [
{
"vm_hostname": "VIshnu-SSHTI1",
"vm_ip": "10.19.180.68",
"vm_name": "VIshnu_SSHTIMEOUT",
"vm_uuid": "1f1697cb-5803-4631-8784-b73ef529b9ed"
}
],
"status": "success"
}}
Может кто-нибудь указать мне, где я иду не так