На самом деле я использую puppet 3.7.2 и hiera 1.3.4 на своем Debian Jessie.
Моя конфигурация марионетки:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
#prerun_command=/etc/puppet/etckeeper-commit-pre
#postrun_command=/etc/puppet/etckeeper-commit-post
server = puppetmaster01.prd.lord-y.net
certname = master.localdomain
environment = prod
condir = /etc/puppet
report = false
show_diff = true
trace = true
runinterval=60
usecacheonfailure = false
ignorecache = true
environmentpath=$confdir/environments
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
certname = master.localdomain
#modulepath=$confdir/environments/$environment/modules:$confdir/modules
[agent]
report = true
show_diff = true
Моя конфигурация hiera:
---
:backends:
- yaml
:yaml:
:datadir: "/etc/puppet/environments/%{::environment}/hieradata"
:hierarchy:
- "%{::fqdn}"
- global
:logger: console
и моя кукольная среда:
/etc/puppet/environments/{prod,uat,dev} ==> environment.conf hieradata манифестирует модули
В моем окружении.conf:
manifest = /etc/puppet/environments/{prod,uat,dev}/manifests/site.pp
modulepath = /etc/puppet/environments/{prod,uat,dev}/modules
В /etc/puppet/environments/{prod,uat,dev}/hieradata у меня есть определения хостов и файл global.yaml для каждой среды.
Моя проблема заключается в том, что когда мастер выполняет поиск Hiera во время построения каталога, кажется, что он не получает данные из global.yaml
в тех случаях, когда он должен это делать.
Например, если я выполняю эту команду на своем мастер-компьютере Puppet, она правильно возвращается к global.yaml
, чтобы обеспечить правильный результат...
hiera varnish::dev::settings::site::backend_name ::environment=prod
... но при поиске того же ключа в ходе обслуживания запроса каталога значение не найдено.
hiera
или что-то подобное вообще будет выполняться на клиенте. При настройке мастер/агент именно мастер выполняет все создание каталога, включая извлечение данных из Hiera, где это необходимо. - person John Bollinger   schedule 24.03.2016