Ansible归档模块“在任务中未检测到任何操作”

时间:2016-11-04 10:15:06

标签: ansible ansible-playbook ansible-2.x

我想使用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"

1 个答案:

答案 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

如果您有不同的设置,请检查:

  1. pip show ansible
  2. /usr/share/ansible如果你在Linux机器上。