自定义木偶类型打破木偶描述“没有这样的文件加载 - json”(2.7)

时间:2015-07-01 12:37:18

标签: ruby puppet

我写了一些自定义的Puppet类型。只要它们都在同一节点上使用,

puppet describe <my_custom_type>

工作正常,显示来自CLI的文档。

然后我写了另一个自定义类型,但现在我得到了

# puppet describe <my_new_custom_type>
Could not run: Could not autoload /var/lib/puppet/lib/puppet/type/<my_older_custom_type>: Could not autoload /var/lib/puppet/lib/puppet/provider/<my_older_custom_type>/<custom_provider>.rb: no such file to load -- json

/var/lib/puppet/lib/puppet下的一瞥显示“缺失”文件存在。当我删除/var/lib/puppet/lib/puppet下的旧自定义类型文件时,# puppet describe <my_new_custom_type>工作正常。

有人可以建议廉价的解决方法吗?或者我忽略了什么?我现在必须使用Puppet v 2.7.something(不是我个人的选择),它将在几个月内升级,所以如果在新版本中修复它,我会保持原样。

当然,所有上述自定义类型/提供商都在工作。 isuue仅限于puppet describe功能。

1 个答案:

答案 0 :(得分:1)

不幸的是,必须为所有你的Puppet代理提供一种自定义类型所需的Ruby gem。

代理程序总是将类型和提供程序同步到代理程序,因为在插件同步时,代理程序还无法判断目录是否需要类型。

如果您可以将功能委托给外部工具,Puppet将能够辨别出提供商并不适合大多数代理。