Я пытаюсь обновить старую инфраструктуру 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.