我的Puppet清单看起来像这样
$abrt_config = [ 'abrt.conf','abrt-action-save-package-data.conf' ]
file { $abrt_config:
ensure => present,
path => "/etc/abrt/${abrt_config}",
owner => 'root',
group => 'root',
mode => '0644',
source => "puppet:///modules/abrt/${abrt_config}",
}
我的配置文件位于以下路径中。
/abrt/files/abrt.conf
/abrt/files/abrt-action-save-package-data.conf
我在客户端节点上执行puppet时遇到以下错误。
错误:/Stage[main]/Abrt/File[/etc/abrt/abrt-action-save-package-data.conf]:无法评估:无法从环境开发源木偶中检索信息: ///模块/ ABRT //等/ ABRT / abrt.conf的/ etc / ABRT / ABRT - 动作 - 保存封装-data.conf
错误:/Stage[main]/Abrt/File[/etc/abrt/abrt.conf]:无法评估:无法从环境开发源中检索信息puppet:/// modules / abrt //等/ ABRT / abrt.conf的/ etc / ABRT / ABRT - 动作 - 保存封装-data.conf
答案 0 :(得分:3)
您无法将数组隐式转换为source
属性中的字符串,并期望所需的行为。
如果您使用的是非过时版本的Puppet,那么您可以使用lambda迭代器以下列方式解决此问题:
['abrt.conf', 'abrt-action-save-package-data.conf'].each |$abrt_config| {
file { $abrt_config:
ensure => present,
path => "/etc/abrt/${abrt_config}",
owner => 'root',
group => 'root',
mode => '0644',
source => "puppet:///modules/abrt/${abrt_config}",
}
}
请查看此处的文档以获取更多详细信息:https://docs.puppet.com/puppet/4.8/function.html#each