Ansible 导入带有变量文件的游戏手册
我正在为另一个剧本编写剧本包装器,因此似乎需要使用指令Ansible 导入带有变量文件的游戏手册,ansible,ansible-awx,Ansible,Ansible Awx,我正在为另一个剧本编写剧本包装器,因此似乎需要使用指令import\u playbook。问题是我有一个变量列表要添加到那里,而import\u playbook似乎不接受vars\u文件指令。所以我尝试了包含。看一看: --- - name: Prepare AWX installation on localhost hosts: localhost become: true connection: local tasks: ... - name: Install do
import\u playbook
。问题是我有一个变量列表要添加到那里,而import\u playbook似乎不接受vars\u文件
指令。所以我尝试了包含。看一看:
---
- name: Prepare AWX installation on localhost
hosts: localhost
become: true
connection: local
tasks:
...
- name: Install docker-compose
pip:
name: docker-compose
- name: Load AWX variables
include_vars: config_vars.yml
- name: launch TOWER installation
include: /awx-repo/installer/install.yml
但最终以错误告终:
错误!冲突的操作语句:主机、角色
不可能在任务之间创建剧本。引述:
“包含播放列表的文件只能包含在顶层。”
修正压痕。比如说
---
-名称:准备本地主机上的AWX安装
主机:本地主机
变成:真的
连接:本地
任务:
...
-名称:安装docker compose
pip:
姓名:docker compose
-名称:加载AWX变量
include_vars:config_vars.yml
-名称:发射塔安装
包括:/awx repo/installer/install.yml
将会有这样的警告
[弃用警告]:“包括”用于playbook includes。你应该使用“导入剧本”
相反此功能将在2.12版中删除。可以禁用弃用警告
通过在ansible.cfg中设置deprecation_warnings=False
使用。比如说
---
-名称:准备本地主机上的AWX安装
主机:本地主机
变成:真的
连接:本地
任务:
...
-名称:安装docker compose
pip:
姓名:docker compose
-名称:加载AWX变量
include_vars:config_vars.yml
-名称:发射塔安装
导入剧本:/awx repo/installer/install.yml
这是否回答了您的问题?大多数情况下,它是有效的,但对于在本地主机上运行,我必须在import\u playbook
中指定变量ansible\u connection
,否则,尽管它在config\u vars.yml中,但它将不起作用。我不知道为什么。。。