Я пытаюсь обновить старую инфраструктуру Puppet 3 до Puppet 5.
Я использую Hiera для получения данные с серверной частью NoSQL. Я написал свой собственный ENC, чтобы получать оттуда данные узла, и это работает хорошо.
Однако, когда я помещаю переменные в Hiera, они не интерполируются. Например, предположим, что я хочу, чтобы виртуальный хост Apache прослушивал fqdn хоста:
"apache::vhost": {
"my-vhost": {
"servername": "%{fqdn}"
}
}
(я уменьшил его, чтобы перейти к сути)
Когда я запускаю марионетку на моем узле, переменная не заменяется, и я нахожу ServerName% {fqdn}
в моей конфигурации Apache.
У кого-нибудь уже была эта проблема? Я понятия не имею, что делать сейчас ...
Большое спасибо!
С уважением
У вас должна быть возможность использовать один из "% {:: fqdn}"
, "% {fact.fqdn}"
или "% {fact.networking.fqdn}"
.
Какой сервер NoSQL вы используете? Я бы проверил, используя один из бэкэндов YAML или JSON, чтобы исключить серверную часть NoSQL.