2017-01-27 4 views
1

Моего кукольных манифеста выглядит таккукольных не может получить информацию от источника

$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}", 
} 

Мои конфигурационные файлы находятся по следующему пути.

Я получаю следующую ошибку при выполнении кукольного на клиентских узлах.

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

ответ

3

Вы не можете неявно преобразовать массив в строку в source атрибут, как и что ожидать желаемого поведения.

Если вы используете не-устаревшую версию Кукольный, то вы можете использовать лямбда-итератор, чтобы решить эту проблему следующим образом:

['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