Конфигурация Lookup в hiera.yaml имеет неправильный тип, запись 'иерархия', индекс 0 ожидает значение Struct, получено String - PullRequest
0 голосов
/ 25 мая 2018

Эта настройка работала и раньше, но после переустановки Ubuntu 16.04 на моем сервере и переустановки puppetserver и агента puppet я получаю сообщение об ошибке при попытке выполнить мой первый запуск агента.

Ошибка: возможноне получить каталог с удаленного сервера: ошибка 500 на сервере SERVER: ошибка сервера: ошибка оценки: ошибка при оценке вызова функции, поиск ключа 'lookup_options' не выполнен: конфигурация просмотра в /etc/puppetlabs/puppet/hiera.yaml имеетневерный тип, запись 'иерархия', индекс 0 ожидает значение Struct, получил String

Конфигурация поиска в /etc/puppetlabs/puppet/hiera.yaml 'имеет неправильный тип, запись' иерархия ', индекс 1 ожидаетЗначение структуры, полученное String

Конфигурация поиска в '/etc/puppetlabs/puppet/hiera.yaml' имеет неправильный тип, нераспознанный ключ 'backends'

Конфигурация поиска в '/ etc /puppetlabs / puppet / hiera.yaml 'имеет неправильный тип, нераспознанный ключ' yaml '(файл: /etc/puppetlabs/code/environments/production/site.pp, строка: 1, столбец:1) на узле cclloyd.com

/ etc / puppetlabs / puppet / hiera.yaml:

---
# Hiera 5 Global configuration file

version: 5

:backends:
  - yaml
:hierarchy:
  - "nodes/%{::trusted.certname}"
  - common

:yaml:
  :datadir:

1 Ответ

0 голосов
/ 25 мая 2018

Кроме

version: 5

, ваш файл выглядит в формате Hiera 3.Hiera 3 может правдоподобно игнорировать ключ 'version' и нормально обрабатывать все остальное, но, очевидно, вы сейчас используете Hiera 5. Поскольку файл объявлен в формате Hiera 5, естественно, что Hiera берет его на слово.Аналог этой конфигурации для Hiera 5 будет выглядеть примерно так:

---
# Hiera 5 Global configuration file

version: 5

hierarchy:
  - name: "Per-node data (yaml version)"
    path: "nodes/%{::trusted.certname}"
  - name: "Common and fallback data"
    path: "common.yaml"

defaults:
  data_hash: yaml_data

Обратите внимание, что значение ключа 'иерархии' представляет собой массив хэшей, и что (в Hiera 5) это должна быть иерархия', а не:Поскольку формат Hiera 3 устарел в Puppet 5 и планируется удалить в Puppet 6, однако, похоже, что сейчас самое время перейти на новый синтаксис.

...