gpt4 book ai didi

ansible - 保存 Ansible 自定义模块的位置

转载 作者:行者123 更新时间:2023-12-02 20:10:18 25 4
gpt4 key购买 nike

在以下目录结构中,我必须创建一个 zip 的“anisble”目录。这个想法是将 ansible 目录中的所有内容(如剧本、角色、库存详细信息和自定义模块)放入 zip 包中,它的内容不应该对“ansible”目录之外的任何内容有任何依赖。

<home>
|<user>
|__ansible
|_____playbook.yml
|_____inventory/
| |____myHosts
|
|_____library/
| |___my_Custom_module.py
|_roles
| |____role1
|____role2

我无法使用:“/home/$USER/.ansible/plugins/modules/”,因为这将使解决方案特定于用户,并且“/usr/share/ansible/plugins/” module/”位于ansible目录之外,并且确实需要权限(用户没有)

问题:

  1. 是否有任何可能的位置可以放置 my_custom_module.py,以便在运行时它会自动被 ansible 选择?这必须位于“ansible”目录内的某个位置。

  2. 如果我在运行 ansible playbook 之前执行此操作,它可以工作,但是在使用自定义模块之前是否可以通过 ansible playbook 以编程方式执行此操作?

    导出 ANSIBLE_LIBRARY=library/my_custom_module.py

  3. 我是否可以提供自定义模块相对于“ansible”目录的路径?在任何conf文件或环境变量中?请注意,我不能使用 /etc 、/usr/etc 。所有内容都必须位于 ansible 目录内,

  4. 这可能吗?

最佳答案

您可以创建一个文件ansible.cfg在你的ansible里面目录,然后设置 DEFAULT_MODULE_PATH该文件中的变量( library ):

[defaults]
library = ./library

更多信息可以在Ansible documentation中找到用于 Ansible 配置。

以下是文档中关于此设置的说明:

Description: Colon separated paths in which Ansible will search for Modules.

Type: pathspec

Default: ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules

Ini Section: defaults

Ini Key: library

Environment: ANSIBLE_LIBRARY

关于ansible - 保存 Ansible 自定义模块的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com