Настройка среды моего марионеточного сервера выглядит следующим образом
[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /data/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /data/puppetlabs/code
# puppet master --configprint manifest
/data/puppetlabs/code/environments/production/manifests
На Агентах это выглядит следующим образом
server = jw-host
environment = production
Но --configprint показывает другое расположение на узлах агента.
# puppet master --configprint manifest
/etc/puppetlabs/code/environments/production/manifests
Он не изменяется на / data, из-за чего мои манифесты не применяются.
Версии следующие
# puppetserver --version
puppetserver version: 2.4.0
# puppet --version
4.5.2
В чем проблема?
Насколько я понимаю puppet master --configprint
проверяет локально, какие настройки будет использовать марионеточный сервер.
Он не подключается к настроенному мастеру и не получает от него значение.
Поскольку вы не запускаете марионеточный сервер на агенте, этот параметр не имеет значения.
Просто по умолчанию /etc/puppetlabs/code/environments/production/manifests
когда он вообще не установлен.
Но все равно агент не использует его.