刚开始使用木偶,我遇到了第一个模板的问题。这应该很容易,但我无法弄清楚。木偶无法找到模板变量
我有一个模块“基地”在
/etc/puppet/modules/base/
./manifests
./manifests/service.pp
./manifests/init.pp
./manifests/params.pp
./manifests/config.pp
./manifests/install.pp
./templates
./templates/puppet.conf.erb
还有其他的东西,但它是没有必要的。
碱/舱单/ init.pp:
class base {
include base::install, base::service, base::config, base::params
}
碱/舱单/ config.pp
class base::config {
include base::params
File {
require => Class["base::install"],
ensure => present,
owner => root,
group => root,
}
file { "/etc/puppet/puppet.conf":
mode => 0644,
content => template("base/puppet.conf.erb"),
require => Class["base::install"],
nofity => Service["puppet"],
}
...
碱/舱单/ params.pp
class base::params {
$puppetserver = "pup01.sdirect.lab"
}
最后有趣部分模板位于base/templates/puppet.conf.erb
...
server=<% puppetserver %>
错误消息:
ERR:解析失败模板碱/ puppet.conf.erb:未能找到在 的/ etc /木偶/模块/碱/舱单 'puppetserver' 值/config.pp:13节点上...
我不明白问题所在。我直接从Pro Puppet书中复制了这部分内容。
有人可以告诉我$ puppetserver应该在哪里定义,以及如何?
非常感谢。 scope.lookupvar完美工作。我不得不在base :: config中的初始类定义之后添加“include base :: params”。 – fandingo