Ansible:模块执行期间意外失败“find()正好需要2个参数(3个给定)”
Posted
技术标签:
【中文标题】Ansible:模块执行期间意外失败“find()正好需要2个参数(3个给定)”【英文标题】:Ansible: Unexpected failure during module execution "find() takes exactly 2 arguments (3 given)" 【发布时间】: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"'
是的,我们得到了同样的错误
【参考方案1】:
将 Python 升级到 2.7.14 即可解决问题。
【讨论】:
以上是关于Ansible:模块执行期间意外失败“find()正好需要2个参数(3个给定)”的主要内容,如果未能解决你的问题,请参考以下文章