【问题标题】:Ansible ldap_entry module failing with "Bad parameter to an ldap routine"Ansible ldap_entry 模块因“ldap 例程的错误参数”而失败
【发布时间】:2016-12-30 19:55:32
【问题描述】:

我已经成功使用自定义psagers/ansible-ldap 模块有一段时间了。不过,就在最近,我开始遇到一个我似乎无法克服的问题。有谁知道什么可能导致以下错误?

任务 [ldap-server : ldap_entry] *************************************** *********
致命:[52.90.82.65]:失败! => {"changed": false, "exc": "Traceback (last recent call last):\n File \"/tmp/ansible_arqhOa/ansible_module_ldap_entry.py\", line 133, in main\n LdapEntry(module). main()\n 文件 \"/tmp/ansible_arqhOa/ansible_module_ldap_entry.py\",第 194 行,在 main\n action()\n 文件 \"/tmp/ansible_arqhOa/ansible_module_ldap_entry.py\",第 206 行,在 \ n action = lambda: self.connection.add_s(self.dn, modlist)\n 文件 \"/usr/lib/python2.7/dist-packages/ldap/ldapobject.py\",第 194 行,在 add_s\n msgid = self.add(dn,modlist)\n 文件 \"/usr/lib/python2.7/dist-packages/ldap/ldapobject.py\",第 191 行,在 add\n return self.add_ext(dn, modlist,None,None)\n 文件 \"/usr/lib/python2.7/dist-packages/ldap/ldapobject.py\",第 176 行,在 add_ext\n return self._ldap_call(self._l.add_ext, dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))\n 文件 \"/usr/lib/python2.7/dist-packages/ldap/ldapobject.py\",第 99 行,在 _ldap_call\n 结果 = func (*args,**kwargs)\nPARAM_ERROR: {'matched': 'dc=hhsdevcloud,dc=us', 'desc': 'ldap 例程的错误参数'}\n", "failed": true, "msg": "{'matched': 'dc =hhsdevcloud,dc=us', 'desc': 'ldap 例程的参数错误'}"}

似乎与从 Ansible 2.0.1.0 迁移到 2.2.0.0 有关。它来自这个 Ansible 任务,它没有改变(并且在 Ansible 版本升级之前一直在工作):

- ldap_entry: 
    bind_dn: 'cn=admin,dc=hhsdevcloud,dc=us'
    bind_pw: "{{ ldap_root_password }}"
    dn: 'ou=people,dc=hhsdevcloud,dc=us'
    objectClass: ['organizationalUnit']

如果我不得不猜测,这与此模块如何处理 args 有关(例如,objectClass 未定义为模块 arg,但该模块旨在找到并使用它)。 Ansible 最近是否改变了模块参数的处理方式?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    想出来并修复它——这只是 Ansible 模块的一个错误。该模块将一些错误类型的对象传递给 python-ldap 库,该库完成了大部分繁重的工作(但出于某种原因仅适用于 Ansible 2.2)。

    我在我的库分支中修复了它:https://github.com/karlmdavis/ansible-role-ldap

    作为额外的奖励,该分支现在具有模块的实际测试覆盖率(由 Travis CI 提供)。

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      相关资源
      最近更新 更多