2012-06-07 66 views
1

update.conf用于更新cfagent.conf文件,以便可以恢复cfagent.conf中的任何语法错误。更新CFEngine的update.conf的最佳实践?

在许多文档中,不建议更新update.conf文件。但是,如果update.conf需要定期更新,那么最佳做法是什么?

感谢:-)

回答

0

我的第一个问题的任何建议将是:你为什么需要那么频繁更改update.conf?这意味着在很大程度上不变,以便您可以避免更新的潜在问题。如果有一部分需要经常更新,那么可能应该在不同的文件中分解出这个部分?

+0

我需要编辑update.conf的例子:需要改变cfhost的域名,需要增加SplayTime。这可能不是很常见,但我找不到更新它的正确方法。 – yegle

0

不知道这是yegle面临的同一种问题,但我也需要在使用CFEngine运行/损坏守护程序的情况下修改update.conf,并且需要更改参数守护进程需要在下一次更新中重新启动。

但是,我同意update.cf应该(从理论上)“永不”改变。如果有变化发生,那些应该分开。使用CFEngine 3,您可以使用cf_promises_validated optimization

+0

这是我正面临的确切情况(需要修改update.conf中的一些值)。 – yegle

+0

在我的情况下,我不得不手动停止守护进程,然后运行cfagent以提供必要的参数。就个人而言,我认为在这种情况下无法避免人工干预。 – awsiv

1

我建议为每个软件开发都进行一个顺序设计过程。修改update.conf也在这个组中。您应该尝试在DEV中进行更改,然后在询问UAT并在最后将其迁移到PROD之前真正进行测试。

许多人将版本控制集成到策略中。所有主机直接签出政策。如果你愿意,你也可以考虑这样做。

在我的情况下,我不会更改update.conf中的内容(我估计每年一次)。我们冻结代码仅用于策略升级。一旦我需要改变,我在DEV中这样做,确保没有任何错误。您可能会看到,如果发生错误/人为错误,您的所有主机可能会完全死亡,无法自动更新策略。

我正在考虑实施双失效保护。一个故障保险是更新由cf-execd定期运行的策略,另一个故障保险是为了只有在失败时才拯救失败保险。