@nano_e_t_4

Как указать имя файла?

Гуру марионетки, подскажите плз, столкнулся с такой дилемой:
Error 400 on SERVER: Files must be fully qualified at /etc/puppet/modules/ferm/manifests/extend.pp:6 on node slave.i-free.local
код:
define ferm::extend {
include ferm,
file { "/etc/ferm/ferm.d/${name}":
content => file( "puppet:///modules/ferm/${name}" )
}
}
нода:
node 'slave.i-free.local' {
ferm::extend{"server": }
}

Гугл пока что ответа так и не дал :(
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
@demsi
В puppet есть файлы, а есть шаблоны. Они должны лежать в четко заданных местах.
Шаблоны должны лежать в modules/имя_модуля/templates
Файлы должны лежать в modules/имя_модуля/files

То есть, в Вашем случае. Вам нужно создать папку modules/ferm/files, и в ней создать Ваш файл ${name}. То есть полный путь до файла modules/ferm/files/${name}

Использовать его можно так:
file { "/etc/ferm/ferm.d/${name}":
    source  => "puppet:///modules/ferm/${name}"
}

Как можно заметить, папка files в путе отсуствует. Это вносит некоторую путаницу. У меня тоже с этим были проблемы.

Подробнее можете почитать в доках https://docs.puppet.com/puppet/4.10/modules_fundam...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы