我的Ansible目录结构看起来像这样.
Ansible-Repo
|
+-- playbooks
| |
| +-- run_custom_module1
|
+-- library
| |
| +-- custom_module1
| +-- custom_module2
|
+-- bin
| |
| +-- usefulpythonfunctions.py
Run Code Online (Sandbox Code Playgroud)
我希望能够从我的Ansible模块中的bin导入有用的pythonfunctions.py.我在我的模块顶部有一个import usefulpythonfunctions.py,但是当我运行playbook时收到以下错误.
\r\nImportError: No module named usefulpythonfunctions\r\n", "msg": "MODULE FAILURE", "parsed": false}
Run Code Online (Sandbox Code Playgroud)
Tar*_*syk 13
幸运的是2.3发布了这个功能.
现在,您可以将共享代码放在module_utilsPlaybook所在的文件夹中,并通过ansible自动导出.您也可能有兴趣检查目录结构文档
您可以module_utils像访问标准工具一样访问模块
from ansible.module_utils.my_shared_code import MySharedCodeClient
Run Code Online (Sandbox Code Playgroud)
更新
现在,您可以使用ANSIBLE_MODULE_UTILSenv变量配置模块实用程序所在的路径.有关详细信息,请查看文档
尝试创建一个名为 的文件夹usefulpythonfunctions,创建一个__init__.py并将所需的函数放入其中。
此外,您应该能够创建bin/foo/bar.py并使用from foo import barbar 之外的函数或类进行调用。
| 归档时间: |
|
| 查看次数: |
6444 次 |
| 最近记录: |