Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppet能否安装一个命令供自定义资源稍后使用?_Puppet - Fatal编程技术网

Puppet能否安装一个命令供自定义资源稍后使用?

Puppet能否安装一个命令供自定义资源稍后使用?,puppet,Puppet,我有一个用Ruby编写的自定义资源,它的提供程序使用命令。该命令来自一个RPM包,我也希望安装它。即使使用我认为正确的依赖项,这也不起作用,因为命令方法是在编译目录时,在运行任何资源之前计算的。至少,这是我的理解 有没有办法让这一切顺利进行?在无代理设置中,我可以只运行两个单独的清单,但它如何与Puppet Server一起工作?使用命令指令(例如命令:foo=>'/usr/bin/foo')提供,如果找不到其他工作提供程序,则应在文件存在时自动开始用于资源 命令在内部生成一个“限制”指令,将提

我有一个用Ruby编写的自定义资源,它的提供程序使用命令。该命令来自一个RPM包,我也希望安装它。即使使用我认为正确的依赖项,这也不起作用,因为
命令
方法是在编译目录时,在运行任何资源之前计算的。至少,这是我的理解


有没有办法让这一切顺利进行?在无代理设置中,我可以只运行两个单独的清单,但它如何与Puppet Server一起工作?

使用
命令
指令(例如
命令:foo=>'/usr/bin/foo'
)提供,如果找不到其他工作提供程序,则应在文件存在时自动开始用于资源

命令
在内部生成一个“限制”指令,将提供程序限制为仅在文件存在时运行。类似的方法适用于“功能”,例如要求加载某个Ruby库(“功能”)。当目录中存在没有其他工作提供程序的资源时,Puppet代理应不断地为提供程序重新评估所有这些资源

当使用
--debug
运行时,您将在代理上看到这样的消息:

Debug: Puppet::Type::Example::ProviderExample: file /usr/bin/foo does not exist
文件出现后,消息应该停止,并且使用提供程序的任何资源都应该运行。如果文件未显示,则此消息将在代理运行结束时显示:

Error: Could not find a suitable provider for example
在考虑提供程序之前,目录应该始终在主服务器上编译,并且代理应该在失败这些资源之前尝试尽可能多地运行


正如你所说,“如果你做得好,这是有效的”

提供使用
命令
指令(例如
命令:foo=>'/usr/bin/foo'
)应在文件存在时自动开始用于资源,如果找不到其他工作提供程序

命令
在内部生成一个“限制”指令,将提供程序限制为仅在文件存在时运行。类似的方法适用于“功能”,例如要求加载某个Ruby库(“功能”)。当目录中存在没有其他工作提供程序的资源时,Puppet代理应不断地为提供程序重新评估所有这些资源

当使用
--debug
运行时,您将在代理上看到这样的消息:

Debug: Puppet::Type::Example::ProviderExample: file /usr/bin/foo does not exist
文件出现后,消息应该停止,并且使用提供程序的任何资源都应该运行。如果文件未显示,则此消息将在代理运行结束时显示:

Error: Could not find a suitable provider for example
在考虑提供程序之前,目录应该始终在主服务器上编译,并且代理应该在失败这些资源之前尝试尽可能多地运行


正如你所说,“如果你做得好,这是有效的”

能否显示调试日志和提供程序代码?从我的记忆和快速测试来看,这应该是可行的。在运行期间,您应该看到“file/usr/bin/example不存在”调试,当命令可用时,调试应该停止。目录编译也不应该受到提供程序可用性的影响,它在评估过程中完全是代理端的。查看安装依赖包的代码后,它是不可能工作的!但是调试输出确实显示了它的尝试性,这证明了您的观点。所以,请随意回答“如果你做得好,这很有效”,我会接受:-)很高兴你把它整理好了。回答!能否显示调试日志和提供程序代码?从我的记忆和快速测试来看,这应该是可行的。在运行期间,您应该看到“file/usr/bin/example不存在”调试,当命令可用时,调试应该停止。目录编译也不应该受到提供程序可用性的影响,它在评估过程中完全是代理端的。查看安装依赖包的代码后,它是不可能工作的!但是调试输出确实显示了它的尝试性,这证明了您的观点。所以,请随意回答“如果你做得好,这很有效”,我会接受:-)很高兴你把它整理好了。回答!