Я работаю над копированием файлов с моего кукловода на свой веб-сервер, который не работает.

На моем puppetmaster я отредактировал файл fileserver.conf и добавил:

  [extra_files]
  path /etc/puppet/files
   allow *

После этого перезапустил puppetmaster и puppet на puppetmaster.

У меня есть test.txt в папке /etc/puppet/files

На веб-сервере у меня есть этот скрипт apache2.pp

file { "/test.txt":
                 mode => "600",
                owner => 'root',
                group => 'root',
                ensure => present,
                source => "puppet:///files/test.txt",
        }

Я получаю эту ошибку, которую я действительно не знаю, как решить:

 **Error: /Stage[main]/Main/File[/test.txt]: Could not evaluate: Could not retrieve information from environment production source(s)** 

Надеюсь, кто-то может помочь мне с некоторыми шагами по устранению неполадок.

0
user3270211 14 Фев 2015 в 22:36

2 ответа

Согласно описанию в fileserver.conf:

# [extra_files]
#   path /etc/puppet/files
#   allow *
#
# In the example above, anything in /etc/puppet/files/<file name> would be
# available to authenticated nodes at puppet:///extra_files/<file name>.
#

Изменение

source => "puppet:///files/test.txt",

К

source => "puppet:///extra_files/test.txt",
2
kkamilpl 15 Фев 2015 в 16:47

Не используйте монтирование файлового сервера, если у вас нет для этого веских причин.

Вместо этого создайте модуль, содержащий файл, который необходимо синхронизировать, например модуль webserver.

mkdir -p /etc/puppet/modules/webserver/files

В вашем ресурсе file укажите ссылку на файл следующим образом:

source => 'puppet:///modules/webserver/test.txt'

Будьте осторожны, чтобы не включать files в URL-адрес файлов, которые извлекаются из модулей.

1
Felix Frank 15 Фев 2015 в 20:12