我正在使用 hiera 和 puppet,并设置了 puppet 角色/配置文件,其中 1 个角色包含多个配置文件(如下所示)。我构建的角色包括硬编码配置文件,底部有多个链。
# build.pp - Current Role
class role::build {
include profile::profile1
include profile::profile2
include profile::profile3
Class['profile::profile1']
->Class['profile::profile2']
->Class['profile::profile3']
}
我希望将此角色 (build.pp) 转换为使用 puppet hiera lookup 来查找类名并将它们添加到 puppet 目录中。我提议的角色看起来如下:
# build.pp - Proposed Role
class role::build {
lookup('classes', Array[String], 'unique').include
Class['profile::profile1']
->Class['profile::profile2']
->Class['profile::profile3']
}
查找工作和类被添加到目录中,但是我不确定如何自动化链接机制以确保它们按正确的顺序运行?
进行这一改变的原因是我计划加入大量类似的角色,并且能够通过傀儡事实和等级来控制这些角色,这是一种非常强大的机制。
这些链至关重要,以便我的 Windows 构建能够加入域并在运行其他应用程序配置文件之前执行许多与构建相关的配置文件。
如能得到任何帮助或指点我将非常感激。
答案1
不幸的是,您不能像这样从 Hiera 中引入类并同时定义关系。
您可以使用阶段来确保首先加入域。然后,您的应用程序配置文件进入下一个阶段。