我正在尝试创建一个基于模板的文件,但收到无法找到模板的错误。
我的目录设置是 /etc/puppet/modules//templates/
在模板下,每个主机都有一个目录,外加一个通用模板。在主机目录下,我有一个特定于该主机的模板。
/服务器/puppet/模块//manifests/init.pp
班级 {
file { "/tmp/<file>":
ensure => present,
content => template('<module>/${hostname}/default.erb', '<module>/common.erb'),
audit => content,
notify => File["/tmp/<file2>"],
}
file { "/tmp/<file2>":
ensure => present,
source => "/tmp/file",
audit => content,
}
}
当我运行 puppet 代理时,第一个文件语句的内容选项出现错误。我不知道模板函数是否需要模板目录下的模板,或者它是否没有正确解释主机名变量。
答案1
单引号内的变量不会被解析。当您需要插入 $variables 时,请使用双引号。
https://puppet.com/docs/puppet/3.8/lang_datatypes.html#strings