具体来说,如果使用cfengine安装了板载设备固件的最新版本,并进行了一些测试以查看是否需要重新启动,并且结果表明计算机需要重新启动,那么可以在cfengine内完成此操作还是应该避免这种做法?如果是这样,为什么?我在Puppet上的经验告诉我,在某些情况下,停止运行以重新启动可能是一件很糟糕的事情,因此我想知道是否同样的限制也适用于cfengine。
最佳答案
停止CFEngine运行还不错。它旨在收敛,并且修改始终是原子的。如果停止,则下一次运行将正确运行。
但是,编写承诺重启设备的承诺可能会导致很多意外(例如,如果承诺逻辑中存在缺陷,将导致无休止的重启),因此,我建议应尽可能避免这种情况,并且如果有必要(例如处理成千上万的设备),则应进行彻底测试