Я потратил на это пару дней, следовал инструкциям на http://downloads.puppetlabs.com/docs/puppetmanual.pdf и даже руководство по обучению куклам.
Когда я провожу тест против него, результат всегда возвращается как «ноль», и я не уверен, почему. Я использую Puppet 3.6.1 Community Edition с Hiera 1.2.1 на SLES 11.
Мой файл puppet.conf в /etc/puppet/puppet.conf состоит из:
[main]
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/log/puppet
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet
# Where SSL certificates are kept.
# The default value is '$confdir/ssl'.
ssldir = $vardir/ssl
certificate_revocation = false
[master]
hiera_config=/etc/puppet/hiera.yaml
reporturl = http://puppet2.vvmedia.com/reports/upload
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
# certname = dev-puppetmaster2.vvmedia.com
# ca_name = 'dev-puppetmaster2.vvmedia.com'
# facts_terminus = rest
# inventory_server = localhost
# ca = false
[agent]
# The file in which puppetd stores a list of the classes
# associated with the retrieved configuratiion. Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is '$confdir/classes.txt'.
classfile = $vardir/classes.txt
# Where puppetd caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is '$confdir/localconfig'.
localconfig = $vardir/localconfig
мой /etc/puppet/hiera.yaml состоит из:
:backends: yaml
:yaml:
:datadir: /etc/puppet/hieradata
:hierarchy:
- common
- database
У меня есть каталог, созданный в / etc / puppet / hieradata, и в нем содержится:
/etc/puppet/hieradata/common.yaml
:nameserver: ["dnsserverfoo1", "dnsserverfoo2"]
:smtp_server: relay.internalfoo.com
:syslog_server: syslogfoo.com
:logstash_shipper: logstashfoo.com
:syslog_backup_nfs: nfsfoo:/vol/logs
:auth_method: ldap
:manage_root: true
и /etc/puppet/hieradata/database.yaml
:enable_graphital: true
:mysql_server_package: MySQL-server
:mysql_client_package: MySQL-client
:allowed_groups_login: extranet_users
Кто-нибудь знает, из-за чего Хиера не загружает запрошенные значения? Я пробовал даже перезапустить Мастер. Заранее спасибо, Коул
При отладке с помощью hiera
команда, помните, что:
Я считаю, что вы используете неправильный синтаксис в своих файлах yaml.
Должно получиться так:
---
enable_graphital: true
mysql_server_package: MySQL-server
mysql_client_package: MySQL-client
allowed_groups_login: extranet_users
Или даже правильнее your_class::enable_graphital: true
.
Но это зависит от того, как вы используете hiera в своем манифесте.