【问题标题】:Can we use async on windows playbook for Ansible?我们可以在 Windows 剧本上为 Ansible 使用异步吗?
【发布时间】:2015-11-25 17:20:13
【问题描述】:

我阅读了 document Ansible 的关于“fire and forget”任务的内容。

但是当试图写一个在我的 Windows 剧本上使用时

- name: install dotnet4
  win_chocolatey: 
   name: dotnet4
   state: present
  async: 1000
  poll: 0
  register: dotnet_sleeper

我的控制机显示

TASK [windows.async.test : install dotnet4] *********************************
fatal: [192.168.0.165]: FAILED! => {"changed": false, "failed": true, "msg": "The async task did not return valid JSON: No JSON object could be decoded"}

这是否意味着 Windows 不支持异步模块?

【问题讨论】:

    标签: ansible ansible-playbook


    【解决方案1】:

    这是一个开放的issue

    查看链接的问题页面以了解解决方法。

    【讨论】:

    • 谢谢,会从那里跟进。
    • 此问题已关闭。看我的回答。
    【解决方案2】:

    问题287 已关闭,类似问题22575 此后不久被打开/修复。

    此外,Ansible 还发布了一篇文章,详细介绍了如何使用 Asynchronous Actions and Polling

    我已经确认下面示例的异步工作 2.4.2.0+

    - name: CHECK IF IIS WEB SERVER IS INSTALLED
      async: 10
      poll: 0
      register: iis_install_result
      win_feature:
        name: Web-Server
        state: present
    
    - name: CHECK ON IIS WEB SERVER INSTALL STATUS
      async_status: jid={{ iis_install_result.ansible_job_id }}
      register: job_result
      until: job_result.finished
      retries: 30
    

    【讨论】:

      猜你喜欢
      • 2017-01-04
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      相关资源
      最近更新 更多