我想使用ansible的归档模块,但遗憾的是它不起作用。我安装了以下版本: ansible 2.3.0(devel 2131eaba0c)
我的剧本看起来像这样:
- archive: path="{{path_dir}}" dest="{{dest_dir}}/foo.zip" format=zip
输出如下:
"failed": true, "reason": "no action detected in task. This often indicates a misspelled module name, or incorrect module path.
The error appears to have been in '/prj/sndbox1/app/jenkins/jobs/release/workspace/tasks/build_rpclient.yml': line 125, column 3, but may be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- archive: path="{{path_dir}}" dest="{{dest_dir}}/foo.zip" format=zip
^ here
We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
据我了解doc,额外的模块是在ansible中提供的,所以我假设我不需要单独安装这个模块。
但是,我做错了什么?是否有任何配置我需要更改才能告诉ansible在哪里寻找额外的模块?
提前致谢!
修改:包含完整的日志消息
编辑2:
我试图将archive.py直接放入我的工作目录 - > [库] /archive.py
现在我收到以下错误:
"failed": true, "msg": "Could not find imported module support code for archive. Looked for either get_exception or pycompat24"
答案 0 :(得分:0)
我在这里使用相同的用例,我使用 Ansible 版本 2.2.0.0 。通过MacOS sierra上的brew安装。
我设法通过将以下内容添加到我的本地 ansible.cfg 文件来解决此问题。
在defautls部分,您必须更改库条目:
[defaults]
library = /usr/local/Cellar/ansible/2.2.0.0_2/libexec/lib/python2.7:library
如果您有不同的设置,请检查:
pip show ansible
/usr/share/ansible
如果你在Linux机器上。