代码之家  ›  专栏  ›  技术社区  ›  nverkland

导入ansible。2.2.1.0中的模块_utils作为库存模块的一部分

  •  1
  • nverkland  · 技术社区  · 8 年前

    作为创建清单类的一部分,我创建了一个自定义LDAP数据导入器。我们的LDAP模式与示例中提供的LDAP插件不够相似。

    我的类叫做ldapDataModule;该班级位于:

    /home/agt/ansible/agt_module_utils/ldapDataModule.py
    

    我的“$HOME/.ansible.cfg”文件包含以下内容:

    module_utils = /home/agt/ansible/agt_module_utils
    

    运行Ansible库存模块时,我得到以下输出:

    ansible ecomtest37-m ping 错误!试图将“/sites/utils/local/ansible/hosts”作为 清单脚本:清单脚本(/sites/utils/local/ansible/hosts)具有 执行错误:回溯(上次调用): 文件“/sites/utils/local/ansible/hosts”,第22行 导入错误:没有名为module.utils的模块

    主机内的include语句如下所示:

    import copy
    import ldap
    import re
    import sys
    import operator
    import os
    import argparse
    import datetime
    import os.path
    try:
        import json
    except:
        import simplejson as json
    from ansible.module_utils import ldapDataModule
    
    class agtInventory(object):
    

    推荐?

    1 回复  |  直到 8 年前
        1
  •  0
  •   nverkland    8 年前

    作为一种“变通方法”,我能够做到以下几点。我仍然想听听Ansible专家关于正确使用Ansible.cfg中的“module\u utils”变量的意见

    sys.path.insert(0, '/home/agt/ansible/agt_module_utils')
    
    from ldapDataModule import ldapDataModule