分类目录
-
近期文章
链接表
功能
Category Archives: cfengine
cfengine的哲学
最近在做基于cfengine的二次开发,目前正在进行的是系统初始化的工作。 开始的时候我直接对现有的shell脚本进行cfengine化,然而随着工作的深入,越发疑惑这么做的意义,使用脚本逐句执行的方式来运用cfengine有什么优势呢?不就是相当于使用了cfengine语法的“脚本”么?而且系统初始化后,如何保证这个状态呢?难道要再写一套“脚本”? 随后和老大的一番讨论让我发现我还是没有理解透彻cfengine对于promise的定义。即,promise是为了保证一种状态的不变。用户需要定义的就是这个状态。当然,对于复杂的cfengine没有提供原生支持的状态,还需要定义修复方法。 所以,使用cfengine首先要确定的是要达到什么状态,其次是状态意外改变后如何修复。 对于系统初始化,首先用cfengine描述出系统应达到的状态,而第一次运行,整个系统明显是“偏离”这个状态的,于是修复过程开始。
cfengine3获取本机ip
项目需要获取本机ip,在文档中没有找到相应的内建变量,而cfengine2是有的,于是上邮件列表问。 答案是有这么个变量的:sys.ipv4 sys.ipv4[eth0] sys.ipv4 is mentioned a couple of times en passent in the cf3 reference, see for example http://www.cfengine.org/manuals/cf3-reference.html#Function-splayclass. I tried a simple report: bundle agent dev{ reports: solaris:: “my ip is ${sys.ipv4}” } which gave the expected result. … Continue reading