Назад | Перейти на главную страницу

Марионетка 5: переменные не интерполируются

Я пытаюсь обновить старую инфраструктуру Puppet 3 до Puppet 5.

Я использую Hiera для получения данных с серверной частью NoSQL. Я написал свой собственный ENC, чтобы получать оттуда данные узлов, и это хорошо работает.

Однако, когда я помещаю переменные в Hiera, они не интерполируются. Например, предположим, что я хочу, чтобы виртуальный хост Apache прослушивал fqdn хоста:

 "apache::vhost": {
   "my-vhost": {
     "servername": "%{fqdn}"
   }
 }

(Я уменьшил его, чтобы перейти к сути)

Когда я запускаю марионетку на своем узле, переменная не заменяется, и я нахожу ServerName %{fqdn} в моей конфигурации Apache.

У кого-нибудь уже была эта проблема? Я понятия не имею, что делать сейчас ...

Большое спасибо !

С уважением

Вы должны уметь использовать один из "%{::fqdn}", "%{facts.fqdn}", или "%{facts.networking.fqdn}".

Какой сервер NoSQL вы используете? Я бы проверил использование одного из бэкэндов YAML или JSON, чтобы исключить бэкэнд NoSQL.