以下是我的示例清单,用于在我的机器上设置ntp以连接到我的来源' 10.0.2.15'
class myNtpClass ($ntpSource='10.0.2.15') {
file {'myFile':
ensure => present,
path => '/test2',
content => "servers => ['${ntpSource} iburst']",
}
class { '::ntp':
servers => ['${ntpSource} iburst', 'localhost'],
restrict => ['restrict 127.0.0.1', 'restrict 10.0.2.0/24'],
}
}
include myNtpClass
我正在使用ntp内置类将我的源服务器列表插入到我的ntp配置中。
当我执行此清单时,$ ntpSource变量在我的ntp.conf配置文件中没有被替换。
这是应用puppet清单后的我的ntp.conf文件,
# ntp.conf: Managed by puppet.
#
# Keep ntpd from panicking in the event of a large clock skew
# when a VM guest is suspended and resumed.
tinker panic 0
# Permit time synchronization with our time source, but do not'
# permit the source to query or modify the service on this system.'
restrict 127.0.0.1
restrict 10.0.2.0/24
# Servers
server ${ntpSource} iburst
server localhost
# Driftfile.
driftfile /var/lib/ntp/drift
我不确定我哪里出错了。 当我尝试在文件中打印$ ntpSource变量时;文件按预期创建。
答案 0 :(得分:0)
使用双引号而不是单引号:
servers => [“$ {ntpSource} iburst”,“localhost”],
来自Puppet网站的引用:
Puppet中有两种引号:单引号(')和双引号(“)。 主要区别在于双引号允许您进行插值 $变量。