当我尝试在节点上执行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
答案 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/stdlib
和puppetlabs/concat
。