我正在使用木偶2.6.8。 我在主控和客户端上都有pluginsync=true 。 我已经创build了一个模块和一个types的生活在木偶:
/etc/puppet/modules/mymodule/lib/puppet/type/mytype.rb
同步在客户端上工作,但types在客户端上结束:
/var/lib/puppet/lib/puppet/type/mytype.rb
但我希望它住在这里:
/var/lib/puppet/mymodule/lib/puppet/type/mytype.rb
所以它不会与其他模块的types相冲突。
我一定错了什么东西,但是我不知道是什么。
不,这就是木偶如何插件同步。 当我编写插件同步代码时,这种广义的哲学(“我们不关心它来自于一个模块”)已经到位了,所以我只是用它来运行。 即使你命名空间的文件,你不能命名空间本地types,所以它不会有任何好处,让他们在不同的目录。 保持你的types名称是唯一的(以模块名称作为前缀,或许像我见过的大多数现有的插件一样),你就不会有问题了。
不,这是如何工作的。 不同模块中的东西不应该冲突 – 组织的分离比绝缘更多。
另外要注意的一点是,木偶大师显然不会在每个代理商的运行中重新加载自定义types。 而只是第一次同步它。
我在puppetlabs https://projects.puppetlabs.com/issues/8750上打开了一个错误来检查这是否是我的假设中的错误。
[是的,我宁愿张贴这个评论,但这需要我没有的声誉 – 我想我会救人的麻烦,我研究这个,因为它没有在文档中提到]