2015-11-09 70 views
0

我正在学习木偶,但我陷入了一个问题。 我有一个Puppet安装,有一个Puppet master和一个Puppet代理,我使用的是开源Puppet。 我要设置一个名为Test的环境。目录如下/etc/puppet/environments/Test其具有modulesmanifests目录。和environment.conf文件。在木偶中设置木偶目录环境

environment.conf包含以下行:

modulepath = $confdir/environments/production/modules

我创建了一个名为samplemodules目录环境内的模块。描述了sample模块的manifests目录中的一个名为sample的类别init.pp。该类用于安装小型软件。 在环境目录manifests中测试我创建了一个文件site.pp,它将实现模块内定义的类sample

puppet.conf包含此下面几行:

[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter prerun_command=/etc/puppet/etckeeper-commit-pre postrun_command=/etc/puppet/etckeeper-commit-post server=puppet.master

[master] ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY

但每当我试图实施木偶剂的体现,它是使用默认site.pp,而不是使用环境site.pp

任何人都可以告诉我我犯了什么错误。

+0

在木偶'3.x',你需要指定'环境路径“选项来使环境目录正常工作。另外,在'environment.conf'中使用绝对路径作为'modulepath'是自我挫败的,考虑将其改为'= modules',或者跳过它,因为这是默认值。 –

回答

0

在木偶代理配置(通常/etc/puppet/puppet.conf)设置环境VAR来测试如下:

[main] 
logdir=/var/log/puppet 
vardir=/var/lib/puppet 
ssldir=/var/lib/puppet/ssl 
rundir=/var/run/puppet 
factpath=$vardir/lib/facter 
prerun_command=/etc/puppet/etckeeper-commit-pre 
postrun_command=/etc/puppet/etckeeper-commit-post 
server=puppet.master 

[agent] 
pluginsync  = true 
report   = true 
ignoreschedules = true 
daemon   = false 
ca_server  = server fqdn 
certname  = client fqdn (signed in the server) 
server   = server fqdn 
show_diff  = true 
listen   = true 
environment  = Test