ansible - 带有库存变量的 vars_files 中的动态文件名
问题描述
以下是简单的剧本
- name: Create VM and associated resources
hosts: linux
connection: local
vars_files:
- vars_files/{{ env_name }}_vars.yml
- vars_files/base_vars.yml
roles:
- linux
我的库存文件是 TEST.yml
all:
vars:
env_name: TEST
linux:
hosts:
TEST-SERVER:
ansible_host: 10.10.10.10
当我运行 playbook ansible-playbook -vvv plabook_test.yml 时,我收到以下错误。
由于未定义的变量,跳过 vars_file 'vars_files/{{ env_name }}_vars.yml'
知道如何在文件名中使用库存中的变量吗?
任何帮助是极大的赞赏。
谢谢,
解决方案
由于关键“主机”,库存文件错误
all:
vars:
env_name: TEST
linux:
host:
TEST-SERVER:
ansible_host: 10.10.10.10
你应该看到警告
[警告]:跳过组(linux)中的意外键(主机),只有“vars”、“children”和“hosts”有效
修复库存
all:
vars:
env_name: TEST
linux:
hosts:
TEST-SERVER:
ansible_host: 10.10.10.10
推荐阅读
- python - 名称“功能”未定义,但它是
- java - 从类路径读取属性文件(非 Maven)
- c++ - 如何在 QTModbusTcpServer 中处理 QTModbusTcpClient 请求
- django - 在这种情况下如何使用 Django 迭代器
- excel - 使用 Web Scraping 导航到表格主体
- php - 如何防止本地插件在 Wordpress 上加载?
- c# - WebAuthenticator.AuthenticateAsync Facebook 登录未关闭
- rxjs - 使用 rxjs 重放事件。或者如何使用带有滴答时间而不是挂钟时间的 rxjs
- amazon-web-services - 亚马逊 AWS S3 部署
- api - 根据消费者请求构建 Rest API 响应对象