【问题标题】:puppet couldn't retrieve information from sourcepuppet 无法从源中检索信息
【发布时间】:2017-01-27 20:20:46
【问题描述】:

我的 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]:无法评估:无法从环境开发源木偶中检索信息: ///modules/abrt//etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf

错误:/Stage[main]/Abrt/File[/etc/abrt/abrt.conf]:无法评估:无法从环境开发源 puppet:///modules/abrt// 检索信息etc/abrt/abrt.conf/etc/abrt/abrt-action-save-package-data.conf

【问题讨论】:

    标签: puppet


    【解决方案1】:

    您不能像这样在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多