自定义Puppet函数上的未初始化常量

自定义Puppet函数上的未初始化常量,puppet,Puppet,我有一个函数,我试图在每次客户端运行时在我的puppetmaster上运行。它在puppetmaster本身上运行正常,但由于以下错误,它会导致代理在节点上运行失败: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: uninitialized constant Puppet::Parser::Functions::<my_module> 并且得到了同样的结果。这是令人尴尬的愚蠢,但

我有一个函数,我试图在每次客户端运行时在我的puppetmaster上运行。它在puppetmaster本身上运行正常,但由于以下错误,它会导致代理在节点上运行失败:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: uninitialized constant Puppet::Parser::Functions::<my_module>

并且得到了同样的结果。

这是令人尴尬的愚蠢,但事实证明我从未注意到我实际上没有在函数中包含这一行:

require 'aws-sdk'
所以我收到的错误是:

uninitialized constant Puppet::Parser::Functions::Aws

实际上指的是缺少AWS SDK,而不是puppet模块本身的问题(它也被混淆地命名为AWS),这就是我解释它的方式。基本上,我因为一个愚蠢的错误,头撞了几天墙。向所有试图帮助我的人道歉:)

检查客户端上是否存在自定义函数文件。无论如何,函数只能在主机上运行。自定义函数不在代理节点上运行。此外。尝试启用pluginsync@ptierno不,你是对的,不管函数是否与代理同步都没有关系。报告的错误发生在编译期间,主机端。OP:这是缺乏信息。函数在哪个文件中定义?如何调用它?它究竟是如何“在木偶大师身上”工作的?还请将完整的函数定义添加到问题中。@FelixFrank-I更新了一些详细信息。
uninitialized constant Puppet::Parser::Functions::Aws