无法从远程服务器检索目录:SERVER上的错误400:未知函数hiera_hash

时间:2016-11-11 15:47:46

标签: puppet

当我尝试在节点上执行puppet run时,我收到以下错误,用于同步ssh puppet模块。

我搜索了很长一段时间,发现hiera_hash.rb存在/var/lib/gems/1.9/gems/lib/....functions/。我还将puppet-hiera/functions/*复制到上述位置。

我尝试使用hiera_hash命令在puppet master中运行puppet apply并且它有效。这样确认hiera_hash在木偶主控主机

中工作正常

我手动登录到节点并尝试了hiera_hash,并且该节点中不存在该错误并且错误源自该节点。为什么puppet master puppet配置不会同步到所有节点。

我在包括puppet master在内的所有节点的puppet.conf中启用了pluginsync=true。如何解决这个问题???

错误:

Could not retrieve catalog from remote server: Error 400 on SERVER: Unknown function hiera_hash at /etc/puppet/modules/ssh/manifests/init.pp:9

1 个答案:

答案 0 :(得分:0)

我与puppetlabs/gcc有类似的问题,我得到了:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Unknown function ensure_packages at /etc/puppet/environments/KT_Default_Organization_Library_test_2/modules/gcc/manifests/init.pp:17 on node foo.example.com

只有这样我才注意到"依赖关系" https://forge.puppet.com/puppetlabs/gcc上的标签显示我失踪puppetlabs/stdlib。当下载并推送到Satellite 6(并添加到内容视图并重新发布它 - 我不确定它在Foreman中是如何工作的)时,它开始按预期工作。

查看评论时,您使用的是saz/ssh,因此根据https://forge.puppet.com/saz/ssh/dependencies,您需要puppetlabs/stdlibpuppetlabs/concat