Puppet

使用 Puppet 文件資源複製文件失敗

  • July 22, 2016

我正在嘗試使用文件資源複製文件。我的程式碼如下:

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了解如何建構模組。

引用自:https://serverfault.com/questions/791130