剛開始使用木偶,我遇到了第一個模板的問題。這應該很容易,但我無法弄清楚。木偶無法找到模板變量
我有一個模塊「基地」在
/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