그냥 꼭두각시를 시작하고 첫 번째 템플릿에 문제가 있습니다. 그것은 매우 쉬워야하지만, 나는 그것을 이해할 수 없다.꼭두각시가 템플릿에 대한 변수를 찾을 수 없습니다.
나는
/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에있는 템플릿의 일부
오류 메시지 :
오류 : 은/etc/인형/모듈 /베이스/매니페스트에서 'puppetserver'에 대한 값을 찾을 수 없습니다 : 템플릿 기반/puppet.conf.erb을 구문 분석하지 못했습니다 /config.pp:13 on node ...
문제가 발생하지 않습니다. Pro Puppet 책에서이 부분을 곧바로 복사했습니다.
누군가가 $ puppetserver를 정의해야하는 위치를 어떻게 표시 할 수 있습니까?
정말 고마워요. scope.lookupvar가 완벽하게 작동했습니다. base :: :: config의 초기 클래스 정의 바로 뒤에 "include base :: params"를 추가해야했습니다. – fandingo