【问题标题】:Ansible: Unexpected failure during module execution "find() takes exactly 2 arguments (3 given)"Ansible:模块执行期间意外失败“find()正好需要2个参数(3个给定)”
【发布时间】:2018-10-18 04:28:28
【问题描述】:

任务执行期间发生异常。看到完整的 回溯,使用 -vvv。错误是:TypeError: find() 恰好需要 2 参数(给定 3 个)致命的:[smuc8562]:失败! => {“失败”:真, "msg": "模块执行过程中出现意外失败。", "stdout": ""}

我们在尝试使用 win_package 模块运行 Ansible playbook 时遇到此错误。

 - name: Install JDK - {{ jdk_exe }}
    win_package:
      path: '{{ jdk_exe }}'
      arguments: /s ADDLOCAL="ToolsFeature,SourceFeature"
      product_id: "{{ jdk_product_id }}"
      state: present

Ansible 大师:使用 Python 2.6.9 运行的 SUSE Linux x64 Windows 目标:Windows Server 2012 R2

win_package 的其他实例工作正常。

我们尝试了原始命令,并将 win_package 替换为 win_command,但问题仍然存在。

【问题讨论】:

  • 你试过把所有的arguments放在引号里吗? - arguments: '/s ADDLOCAL="ToolsFeature,SourceFeature"'
  • 是的,我们得到了同样的错误

标签: ansible


【解决方案1】:

将 Python 升级到 2.7.14 即可解决问题。

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 2012-03-15
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多