我已经使用 Ansible 有一段时间了,并且通常对库存中的变量没有任何问题。但是,我第一次必须覆盖库存中的嵌套变量,并且我希望它能够工作......没有。
角色的default/main.yml
样子是这样的:
archiver_config:
archiver_folder: "/opt/archiver"
source_folder: "/var/tmp/images"
archive_folder: "/var/tmp/imagearchive"
min_diskspace: 1e6
logfile: "/var/log/archiver.log"
我需要覆盖某些主机的默认存档文件夹,因为其中一些主机为此目的附加了一个外部文件系统,所以我在清单中执行了此操作:
[tdevices]
10.8.0.38 adeploy_name=16014c archiver_config.archive_folder=/media/ext
我也尝试将值放在双引号和单引号中,例如
archiver_config.archive_folder='/media/ext'
但它不起作用。Ansible 不会抛出任何错误,但不会覆盖默认值。这样做的正确语法是什么?