Ansible没有拿起自定义模块

时间:2017-04-02 21:47:30

标签: module ansible

我遇到了Ansible选择我添加的模块的问题。

  1. 该模块名为'passwordstore'https://github.com/morphje/ansible_pass_lookup/
  2. 我正在使用Ansible 2.2
  3. 在我的剧本中,我添加了一个'library'文件夹,并将该GitHub目录的内容添加到该文件夹​​中。我还尝试取消注释library = /usr/share/ansible/modules并在那里添加模块文件但仍然没有被提取。
  4. 还尝试将环境变量设置为ANSIBLE_LIBRARY=/usr/share/ansible/modules
  5. 我的Ansible剧本看起来像这样:

    ---
    
    - name: example play
      hosts: all
      gather_facts: false
    
      tasks:
        - name: set password
          debug: msg="{{ lookup('passwordstore', 'files/test create=true')}}"
    

    当我运行这个时,我得到了这个错误;

    ansible-playbook main.yml

    PLAY [example play] ******************************************************
    
    TASK [set password] ************************************************************
    fatal: [backend.example.name]: FAILED! => {"failed": true, "msg": "lookup plugin (passwordstore) not found"}
    fatal: [mastery.example.name]: FAILED! => {"failed": true, "msg": "lookup plugin (passwordstore) not found"}
            to retry, use: --limit @/etc/ansible/roles/test-role/main.retry
    

    关于我缺少什么的任何指导?它可能只是我尝试添加自定义模块的方式,但任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:2)

这是一个查找插件(不是模块),所以应该进入名为lookup_plugins的目录(不是library)。

或者,使用lookup-plugins settingansible.cfg中添加克隆存储库的路径。