我仍然使用 extlookup(是的,我知道它已被弃用:-(但我没有时间转到 hiera)。
我的问题 - 我需要从 puppet master/puppet agent 设置转移到本地运行的 puppet apply。一切都很顺利……除了 extlookup。
当我尝试使用:
puppet apply -e 'class { 'classX': }'
如果在类别X(或在其中一个必需的类内)使用 extlookup,extlookup_datadir被完全忽略。无论我在哪里定义/声明该变量。
我尝试过在 classX初始化文件文件位于类声明上方,以及类声明内部。
所以问题是 - 是否可以以某种方式使用 extlookup
puppet apply -e
? :-)
答案1
经过一番思考,我想到的唯一解决方案是:
cat<<EOF | puppet apply --noop
$(cat /etc/puppet/manifests/site.pp)
node "$(hostname -f)" {
my::definition { "resName" }
}
EOF
与 puppetmaster 设置一样,我将其放入 site.ppextlookup_datadir和外部查找优先级。所以我不需要改变我的清单中的任何内容 - 只需使用这个“包装器”。
我将非常感激任何更好的解决方案:-)