我有一个使用gini-archive的puppet模块.最近我改变我的模块依赖于biemond-wildfly,这取决于nanliu-archive.
但是,我无法安装nanliu-archive,因为这两个归档模块都安装在一个名为的目录中archive.我相信这违反了puppet模块的要求,因为它们都应该安装到名为的目录中<username>-archive.
但是,即使我把它们放在不同的目录中,我仍然有问题.两个类都被调用archive(实际上一个是一个类,一个是定义,但我认为现在不太重要),所以当我的模块说include archive,木偶不会知道我想要哪一个.
注意我有一个java背景,其中每个类都在一个包层次结构中,可以防止这类问题,但我看不到任何木偶的等价物.
我知道我可以有不同的模块目录(的整个负载/etc/puppet/modules,/etc/puppet/modules2等等),但木偶似乎仍然通过这些看才能,这意味着它将永远载入archive从列表中的第一个模块的目录类.
有没有办法解决这个问题,或者我达到了傀儡可以做的极限?我宁愿不必分叉每一个模块并更改类名,这似乎打败了伪造点.
谢谢.
模块所在目录的名称必须是archive,用户名仅用于分发和打包模块的目的,但在自动加载时不会被 puppet 使用。基本上,你所看到的都是正确的。
似乎有两种方法可以处理这个问题: