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中,但它将不起作用。我不知道为什么。。。