在2.2.1.0中导入ansible.module_utils作为库存模块

时间:2017-06-26 18:10:41

标签: python import ansible ansible-inventory

将UTILS类导入库存 - 是否可以完成?

我创建了一个自定义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)   执行错误:Traceback(最近一次调用最后一次):    文件" / sites / utils / local / ansible / hosts",第22行,in      来自ansible.module_utils import ldapDataModule   ImportError:没有名为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):

RECOMENDATIONS?

1 个答案:

答案 0 :(得分:0)

我能够做到以下作为“解决方法”。我仍然希望听到Ansible大师正确使用ansible.cfg中的“module_utils”变量

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

from ldapDataModule import ldapDataModule