Я все еще использую extlookup (да, я знаю, что он устарел :-( Но я не могу найти время, чтобы перейти на hiera).
Моя проблема - мне нужно перейти от настройки мастера марионетки / агента марионетки к применению марионетки, которое запускается локально. Все было гладко ... кроме extlookup.
Когда я пытаюсь использовать:
puppet apply -e 'class { 'classX': }'
И если где-то внутри classX (или внутри одного из требуемых классов) используется extlookup, extlookup_datadir полностью игнорируется. Независимо от того, где я определю / объявлю эту переменную.
Я пробовал в классе X init.pp файл над объявлением класса и внутри объявления класса.
Итак, вопрос - можно ли как-нибудь использовать extlookup с
puppet apply -e
? :-)
Это единственное решение, которое пришло мне в голову после некоторого размышления:
cat<<EOF | puppet apply --noop
$(cat /etc/puppet/manifests/site.pp)
node "$(hostname -f)" {
my::definition { "resName" }
}
EOF
Как и в случае с настройкой puppetmaster, я вставил site.pp extlookup_datadir и extlookup_precedence. Так что мне не нужно ничего менять в своих манифестах - только для использования этой «обертки».
Я буду признателен за любые лучшие решения :-)