人偶无法从源中检索信息
puppet couldn't retrieve information from source
我的 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 时出现以下错误。
Error: /Stage[main]/Abrt/File[/etc/abrt/abrt-action-save-package-data.conf]: Could not evaluate: Could not retrieve information from environment development source(s) puppet:///modules/abrt//etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf
Error: /Stage[main]/Abrt/File[/etc/abrt/abrt.conf]: Could not evaluate: Could not retrieve information from environment development source(s) puppet:///modules/abrt//etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf
您不能像那样在 source
属性中将数组隐式转换为字符串并期望得到所需的行为。
如果您使用的是 non-obsolete 版本的 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
我的 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 时出现以下错误。
Error: /Stage[main]/Abrt/File[/etc/abrt/abrt-action-save-package-data.conf]: Could not evaluate: Could not retrieve information from environment development source(s) puppet:///modules/abrt//etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf
Error: /Stage[main]/Abrt/File[/etc/abrt/abrt.conf]: Could not evaluate: Could not retrieve information from environment development source(s) puppet:///modules/abrt//etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf
您不能像那样在 source
属性中将数组隐式转换为字符串并期望得到所需的行为。
如果您使用的是 non-obsolete 版本的 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