Типы данных Hiera не загружаются в Puppet
Я потратил на это пару дней, следуя инструкциям на http://downloads.puppetlabs.com/docs/puppetmanual.pdf и даже руководству Puppet Training Advanced Puppet.
Когда я запускаю тест против него, результаты всегда возвращаются как "ноль", и я не уверен почему. Я использую 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 не загружать запрошенные значения? Я пытался даже перезапустить Мастер. Заранее спасибо, Коул
2 ответа
Я считаю, что вы используете неправильный синтаксис в своих файлах 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
команда, помните, что:
- Нужно бегать по мастеру (обычно)
- Он ищет /etc/hiera.yaml (не /etc/puppet/hiera.yaml). Создайте символическую ссылку, если вам будет легче.
- Он ищет /var/lib/hiera для данных. Возможно, вам понадобится сделать символическую ссылку на то место, куда вы поместили данные hiera.