根据主机名条件添加许多事实的正确方法



我需要根据主机名在许多机器(100+(上插入多个事实。所有计算机都部署了一个应用,但应用配置不同,并且计算机构成不同群集的一部分。我正在努力找到正确的方法来实现这一目标。我在如何从主机名创建自定义 :host_role 事实中找到的一种方法?其中有一个条件在事实上添加代码块来检查主机名。

我还在想是否有办法在一个事实器中添加多个事实,而不是每个事实者 1 个,因为这样我就可以在集群/机器上逻辑地组织我的代码而不是事实。

例:

机器1及其事实: 群集名称:C1 Java版本:1.8.60 进程运行: 3

机器2及其事实: 群集名称:C1 Java版本:1.8.60 进程运行: 1

机器3及其事实: 群集名称:C2 Java版本:1.9.00 进程运行: 1

机器4及其事实: 群集名称:C2 Java版本:1.9.00 进程运行: 2

机器5及其事实: 群集名称:C3 Java版本:1.9.60 进程运行: 1

我没有找到任何方法可以在 1 facter.add 调用中拥有多个事实,所以我想添加的每个事实都进行了 1 次调用。

事实文件最终如下所示:

when "Machine1"
Facter.add(:processcount) do
setcode do
3
end
end
when "Machine2", "Machine3", "Machine5"
Facter.add(:processcount) do
setcode do
1
end
end

相关内容

最新更新