我对Ubuntu的Ansible 2.2有个问题。
我的剧本包含以下内容:
---
- hosts: all
become: yes
roles:
- mysql我从这里开始使用了MySQL角色,https://galaxy.ansible.com/geerlingguy/,但在本地将all重命名为MySQL。在“剧本”的“默认”文件夹中,有一个包含以下参数的文件:
mysql_datadir: /var/lib/mysql有了这个,Ansible工作得很好。但是现在我希望每个主机都有一个特定的配置,如下所述:practices.html
因此,我创建了文件inventories/host_vars/test.yml,删除了任务默认文件夹中的文件,并将剧本更新为以下内容:
---
- hosts: all
become: yes
roles:
- mysql
tasks:
- name: include vars
include_vars: inventories/host_vars/test.yml现在Ansible不会接受这一点;它说变量没有设置:
=> {" FAILED ":true,"msg":“字段'args‘有一个无效的值,该值似乎包含一个未定义的变量。错误是:'mysql_datadir‘是未定义的\n\n,错误似乎出现在apt第24行第3列中,但可能\n位于文件的其他地方,具体取决于语法问题。\n\n错误行似乎是:\n\n- name:删除apt包在初始安装后创建的innodb日志文件。n^这里\n“}
通过命令行传递参数没有问题。我怎么才能解决呢?
发布于 2016-11-08 15:44:19
我相信你在那里有很多问题。我建议从标准的、更简单的目录结构开始。
我将努力做到以下几点:
https://stackoverflow.com/questions/40490601
复制相似问题