【问题标题】:Puppet: don't manage single line(s) in a templatePuppet:不要管理模板中的单行
【发布时间】:2014-08-25 01:15:19
【问题描述】:

我在我的 puppet 清单中定义了一个配置文件,我需要使用一个 .erb 模板,以便加载动态参数。

然而,问题是应用程序坚持在 puppet 运行之前更改该文件中的几行。这样的行不容易被发现并放入模板中(例如,递增的内部版本号)。如果我告诉 puppet 在配置文件更改时刷新服务,那么每次 puppet 运行我都会重新启动我的服务,这不好。

有什么方法可以让我在 Puppet 中使用 .erb 模板,但告诉它不要关心其中的特定行是否更改?我不确定这是否可能,或者即使它会起作用,但很高兴知道。

干杯

【问题讨论】:

  • 你的配置文件include可以再puppet管理的配置文件吗?

标签: puppet


【解决方案1】:

您可以使用 stdlib 模块中的 file_line 资源或 augeas 镜头来指示 puppet 在配置文件中需要哪些行。这些行将由 puppet 管理,其余文件将保持不变。

【讨论】:

  • 是的,虽然file_line 没有命名空间到stdlib,即使你需要模块来获取类型。
【解决方案2】:

如果您不喜欢file_lineaugeas(其中一个有点小技巧,另一个很难弄清楚),您可能需要创建一个custom fact 来通知主人当前状态的文件。然后,只有在必要时,master 才能应用逻辑来更新该内容。

当然,这并不比上述方法更直观或可维护。

【讨论】:

    猜你喜欢
    • 2016-04-05
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    相关资源
    最近更新 更多