Я в настоящее время пытаюсь восстановить пример, описанный здесь
Проблема, это, когда я пытаюсь получить ntp:: переменная серверов я получаю следующую ошибку, которая у меня есть проблемы с пониманием.
hiera ntp::servers ::fqdn=debian
/usr/lib/ruby/vendor_ruby/hiera/backend.rb:18:in `[]': can't convert Symbol into Integer (TypeError)
from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:18:in `datadir'
from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:98:in `datasourcefiles'
from /usr/lib/ruby/vendor_ruby/hiera/backend/yaml_backend.rb:16:in `lookup'
from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:206:in `block in lookup'
from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `each'
from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `lookup'
from /usr/lib/ruby/vendor_ruby/hiera.rb:60:in `lookup'
from /usr/bin/hiera:225:in `<main>'
Я рассматривающий поиск и устранение неисправностей bulletpoints
Мой/etc/puppet/hiera.yaml. (немного отличающийся, но это должно также работать),
:backends:
- yaml
- puppet
:yaml:
- :datadir: /etc/puppet/hieradata
:puppet:
- :datadir: data
:hierarchy:
- "node/%{::clientcert}"
- "%{::environment}"
- common
Символьная ссылка корректна
ls -l /etc/hiera.yaml
lrwxrwxrwx 1 root root 22 Sep 15 15:33 /etc/hiera.yaml -> /etc/puppet/hiera.yaml
Мой файл в качестве примера:/etc/puppet/hieradata/node/debian.yaml
ntp::restrict:
-
ntp::autoupdate: false
ntp::enable: true
ntp::servers:
- 0.us.pool.ntp.org iburst
- 1.us.pool.ntp.org iburst
- 2.us.pool.ntp.org iburst
- 3.us.pool.ntp.org iburst
Я не делаю точно, какие инструменты использовать для проверки, если YAML был правильно построен. Я скопировал его с веб-сайта, таким образом, я предполагаю, что это в порядке.
Puppetmaster был также перезапущен, чтобы быть уверенным.
Таким образом, какова могла быть проблема с ошибкой, которую hiera инструмент дает мне?
Вы выбрали более безопасный путь использования % {:: clientcert}
вместо % {:: fqdn}
, что заслуживает похвалы. Но убедитесь, что вы указали для этого значение, а не :: fqdn = debian
при выполнении поиска.
Кроме того, вместо : datadir
, марионетка
] backend имеет параметр : datasource
(см. docs ).
Я рекомендую на время удалить puppet
backend. Добавьте его, если вы действительно в этом нуждаетесь. Большинство пользователей этого не сделает.