2015-11-09 72 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