Puppet
使用 Puppet 文件資源複製文件失敗
我正在嘗試使用文件資源複製文件。我的程式碼如下:
node 'Node-002' { file { "/root/helloworld.txt": ensure => file, owner => "root", group => "root", mode => "0644", source => "puppet://modules/templates/${fqdn}/hosts.erb", } }
但它失敗並出現以下錯誤
Error: /Stage[main]/Main/Node[Node-002]/File[/root/helloworld.txt]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/templates/Node-002.example.com/hosts.erb
模板位置如下:
ls -l /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.example.com/hosts.erb -rw-r--r-- 1 puppet puppet 462 Jul 20 02:13 /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.wiley.com/hosts.erb
即使我在
source
參數中給出完整路徑,它也會因相同的錯誤而失敗。我正在使用木偶 4.5.4
請建議
您的模組似乎不符合標準目錄結構。如果源 URL 為
puppet:///modules/foo/bar.txt
,Puppet 將尋找${codedir}/environments/production/modules/foo/files/bar.txt
。靜態文件應位於files
模組內的子目錄中。模板應位於templates
模組內的子目錄中,並在file
資源中以content => template('foo/bar.erb')
. 您使用 ERB 模板作為不會以任何方式處理的源似乎有些混淆。請參閱https://docs.puppet.com/puppet/latest/reference/modules_fundamentals.html了解如何建構模組。