gpt4 book ai didi

variables - Ansible 2.8 角色 - 使用 vars/main 目录

转载 作者:行者123 更新时间:2023-12-04 01:39:13 25 4
gpt4 key购买 nike

我正在尝试将我的 Ansible 角色变量拆分为多个文件 - 根据 this answer ,应该可以创建一个 vars/main 目录,并且应该自动加载该目录中的所有 .yml 文件。

然而,这似乎并没有发生在我的情况下。

我的目录结构:

vars
└── main
├── gce_settings.yml
├── vsphere_settings.yml
└── vsphere_zone.yml

但是,当我尝试使用 vsphere_settings.yml 中定义的变量时,Ansible 会提示该变量未定义:{"msg": "任务包含一个带有 undefined variable 的选项。错误是:'vsphere_user' 未定义

如果我将变量声明移动到 vars/main.yml 中,一切都会按预期进行。但是,当然,我更愿意将我的变量分成多个文件。

我无法在官方 Ansible 文档中找到任何关于此“功能”的引用,而且我不知道如何解决它。谁能指出我正确的方向?

我的ansible版本:ansible 2.8.5 在 Ubuntu 16.04 上

在你问之前:是的,我确实确保在尝试加载 vars/main/*.ymlmain.yml 不存在...

最佳答案

下面的例子

$ cat play.yml 
- hosts: localhost
roles:
- role1

$ cat roles/role1/tasks/main.yml
- debug:
var: var1

$ cat roles/role1/vars/main/var1.yml
var1: test_var1

给予

"var1": "test_var1"

关于variables - Ansible 2.8 角色 - 使用 vars/main 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com