Асинхронность и проблема сна в Ansible - PullRequest
0 голосов
/ 01 октября 2019

Я хочу выполнить асинхронную задачу через 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"
        }}

Может кто-нибудь указать мне, где я иду не так

...