【发布时间】:2021-06-08 20:14:32
【问题描述】:
我正在寻找在根 playbook_dir 加载本地 ansible.cfg 的解决方案。 这是我的剧本架构文件夹:
ansible
├── deploy_manager
│ ├── ansible.cfg
│ ├── deploy_manager.yml
│ ├── environments
│ │ ├── demo
│ │ │ ├── group_vars
│ │ │ │ └── demo.yml
│ │ │ ├── inventory.yml
│ │ │ └── vars
│ │ │ └── vault.yml
│ │ ├── int
│ │ │ ├── group_vars
│ │ │ │ └── int.yml
│ │ │ ├── inventory.yml
│ │ │ └── vars
│ │ │ └── vault.yml
│ │ └── prod
│ │ ├── group_vars
│ │ │ └── prod.yml
│ │ ├── inventory.yml
│ │ └── vars
│ │ └── vault.yml
│ ├── README.md
│ └── roles
│ ├── create_instance
│ │ └── tasks
│ │ └── main.yml
当我使用 ansible-playbook cli 执行剧本时,我在当前目录中有一个 ansible.cfg,因此加载了 ansible.cfg。
当我从 AWX 执行剧本时,项目位于 tmp/cev039fj/awx_1900_tw78u5vh/project 中。 /tmp/cev039fj/awx_1900_tw78u5vh 中没有 ansible.cfg,所以加载的是 /etc/ansible/ansible.cfg。 我在每个 playbook 目录中都有一个带有不同参数的 ansible.cfg,所以当 AWX 启动 playbook 时,如何设置 playbook dir ansible.cfg 的 ANSIBLE_CONFIG 路径?
我使用 ANSIBLE_CONFIG 设置进行了一些测试,但未成功。
你有什么想法吗?
谢谢
编辑:
我向 awx github https://github.com/ansible/awx/issues/10398 提出了一个问题 这是 AWX 的一个限制,它仅将 ansible 配置加载到根项目,因为剧本是在项目的根目录执行的。 通常,我在当前目录 playbook 中执行 playbook,这就是为什么我对特定的 ansible.cfg 没有问题。 我提出了两个建议来解决这个问题,我会在完成时在这里发布最后一点
【问题讨论】:
-
export ANSIBLE_CONFIG=.....怎么没帮到你?您也可以将配置文件保存在用户的主目录中,因为/etc/的cfg 将作为最后的手段。 -
我在每个 playbook 目录中有几个 ansible.cfg,所以我需要一个动态 ANSIBLE_CONFIG 到 playbook 目录路径。而且我不确定 AWX 如何使用 ANSIBLE_CONFIG 变量。等待与 AWX 开发人员的讨论
标签: ansible ansible-awx