【发布时间】:2015-05-15 07:52:37
【问题描述】:
我有一个使用 gini-archive 的 puppet 模块。最近我将我的模块更改为依赖biemond-wildfly,它依赖于nanliu-archive。
但是,我无法安装 nanliu-archive,因为这两个归档模块都安装在名为 archive 的目录中。我认为这违反了 puppet 模块要求,因为它们都应该安装到名为 <username>-archive 的目录中。
但是,即使我将它们放在不同的目录中,我仍然有问题。这两个类都称为archive(实际上一个是类,一个是定义,但我认为现在这不太重要),所以当我的模块说include archive时,puppet 不会知道是哪一个我要。
请注意,我有一个 java 背景,其中每个类都在一个包层次结构中,可以防止此类问题,但我看不到 puppet 的任何等效项。
我知道我可以加载大量不同的模块目录(/etc/puppet/modules、/etc/puppet/modules2 等),但 puppet 似乎仍然按顺序查看这些目录,这意味着它总是会从第一个加载 archive 类列表中的模块目录。
有没有办法解决这个问题,或者我已经达到了 puppet 的极限?我宁愿不必分叉每个模块并更改类名,这似乎违背了伪造的意义。
谢谢。
【问题讨论】:
标签: puppet