在 2.2.1.0 中导入 ansible.module_utils 作为库存模块的一部分
import ansible.module_utils in 2.2.1.0 as part of inventory module
将 UTILS classes 导入 Inventory - 可以做到吗?
我创建了一个自定义 LDAP 数据导入器,作为创建清单的一部分 class。我们拥有的 LDAP 架构与示例中提供的 LDAP 插件不够相似。
我的class叫做ldapDataModule; class 在:
/home/agt/ansible/agt_module_utils/ldapDataModule.py
我的“$HOME/.ansible.cfg”文件包含以下内容:
module_utils = /home/agt/ansible/agt_module_utils
当 运行 我的 Ansible 清单模块时,我得到以下输出:
ansible ecomtest37 -m ping
ERROR! Attempted to execute "/sites/utils/local/ansible/hosts" as
inventory script: Inventory script (/sites/utils/local/ansible/hosts) had
an execution error: Traceback (most recent call last):
File "/sites/utils/local/ansible/hosts", line 22, in
from ansible.module_utils import ldapDataModule
ImportError: No module named module.utils
hosts 中的 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):
建议?
作为 "work around",我能够执行以下操作。我仍然想听听 Ansible 大师关于正确使用 ansible.cfg
中的 "module_utils" 变量的意见
sys.path.insert(0, '/home/agt/ansible/agt_module_utils')
from ldapDataModule import ldapDataModule
将 UTILS classes 导入 Inventory - 可以做到吗?
我创建了一个自定义 LDAP 数据导入器,作为创建清单的一部分 class。我们拥有的 LDAP 架构与示例中提供的 LDAP 插件不够相似。
我的class叫做ldapDataModule; class 在:
/home/agt/ansible/agt_module_utils/ldapDataModule.py
我的“$HOME/.ansible.cfg”文件包含以下内容:
module_utils = /home/agt/ansible/agt_module_utils
当 运行 我的 Ansible 清单模块时,我得到以下输出:
ansible ecomtest37 -m ping ERROR! Attempted to execute "/sites/utils/local/ansible/hosts" as inventory script: Inventory script (/sites/utils/local/ansible/hosts) had an execution error: Traceback (most recent call last): File "/sites/utils/local/ansible/hosts", line 22, in from ansible.module_utils import ldapDataModule ImportError: No module named module.utils
hosts 中的 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):
建议?
作为 "work around",我能够执行以下操作。我仍然想听听 Ansible 大师关于正确使用 ansible.cfg
中的 "module_utils" 变量的意见sys.path.insert(0, '/home/agt/ansible/agt_module_utils')
from ldapDataModule import ldapDataModule