Используя пример NTP Hiera в марионетке не работает

Я в настоящее время пытаюсь восстановить пример, описанный здесь

Проблема, это, когда я пытаюсь получить 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

  • Ваш hiera.yaml файл соответствует примеру, который мы обеспечили
  • Вы поместили символьную ссылку на hiera.yaml, где инструмент командной строки ожидает находить это (/etc/hiera.yaml)
  • Вы сохранили свой файл источника данных kermit.example.com с .yaml расширением
  • YAML Вашего файла источника данных хорошо формируется
  • Вы перезапустили свое марионеточное ведущее устройство при изменении hiera.yaml

Мой/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 инструмент дает мне?

1
задан 15 September 2014 в 18:02
1 ответ

Вы выбрали более безопасный путь использования % {:: clientcert} вместо % {:: fqdn} , что заслуживает похвалы. Но убедитесь, что вы указали для этого значение, а не :: fqdn = debian при выполнении поиска.

Кроме того, вместо : datadir , марионетка ] backend имеет параметр : datasource (см. docs ).

Я рекомендую на время удалить puppet backend. Добавьте его, если вы действительно в этом нуждаетесь. Большинство пользователей этого не сделает.

1
ответ дан 4 December 2019 в 00:19

Теги

Похожие вопросы