Привет
Помогите понять, как сконфигурировать Puppet (или как правильно оформить модуль) для удобной работы в отрыве от его клиент-серверной ориентации.
Точнее, мне просто иногда нужно подымать сервера с одинаковой конфигурацией (PHP, Nginx, MySQL и т.д.) и чтобы не делать механическую работу много раз - задумал написать манифест и применять его с "puppet apply"
Начал разбираться на Puppet 2* - всё вроде работало - прописал в puppet.conf modulepath - путь к папке в которой разрабатывал модуль, создал папочную структуру модуля, несколько классов, из файла init.pp удалось сделать include другого класса и тот отрабатывал.
Затем я обратил внимание что версия то старая, и есть 3.6 - поставил её и всё поломалось :)
- modulepath в puppet.conf стал deprecated - пришлось убрать его оттуда, вместо этого предлагается использовать
Directory Environments. Как - понять не могу. Всё что мне нужно - чтобы модуль работал в директории отличной от /etc/puppet/modules/
- Include классов перестал работать - тот же код что работал на версии 2 теперь выдаёт "Error: Could not find class kp::testfile for precise32.mynet.lan on node precise32.mynet.lan"
Пример - Модуль с двумя манифестами: init.pp и используемый в нём testfile.pp (просто создаёт файл с контентом из шаблона во папке /tmp)
Вызываю из папки manifests, где лежит init.pp
puppet apply init.pp
В Puppet 3.6 Вываливается с ошибкой
"Error: Could not find class kp::testfile for precise32.mynet.lan on node precise32.mynet.lan"
Подскажите, как это можно победить?