Linux

CFEngine v2 不向客戶端“傳播”類

  • December 20, 2011

早晨,

我對 CFEngine 2.1.22 有一個非常奇怪的問題。

我在 cf.groups 中有兩個組,如下所示

# devservers that need default sudoers
   group_default_sudoers = ( dev4_company_local 
                         dev5_company_local
                         dev6_company_local
                         dev7_company_local
                         dev8_company_local )



# devservers that need db modified sudoers
   group_dbmod_sudoers = ( dev16_company_local )

這是來自 cf.main 的必要行

actionsequence          = ( copy packages editfiles processes shellcommands tidy )

copy::
    group_default_sudoers::
   ${include_dir}/default_sudoers
           dest=/etc/sudoers
           owner=root
           group=root
           mode=440
           type=checksum
           backup=false

   group_dbmod_sudoers::
   ${include_dir}/dbmod_sudoers
           dest=/etc/sudoers
           owner=root
           group=root
           mode=440
           type=checksum
           backup=false

現在,問題是,當我在客戶端上執行 cfagent 時,dev4、5、6 和 7 會立即獲取新文件,但 dev8 和 dev16 沒有。

而且我已經能夠使用這個命令將問題縮小到“定義的類”

cfagent -pv|grep Classes

在除 dev8 和 dev16 之外的所有伺服器上,組/類是否都會顯示(group_default_sudoers 和 group_dbmod_sudoers)。

有人對此有任何想法嗎?我不知道如何定義類並且配置是相同的。

任何提示或提示將不勝感激,謝謝。

問候

在意識到錯誤在於 cf.main 和 cf.groups 沒有被複製後,我很快就明白文件傳輸有問題,比較 update.conf 後我立即發現錯誤,我在 dev8 上更改了 update.conf和 dev16,一切都立即生效。

這就是我認為的錯誤,這在有故障的客戶端上不存在。

copy:
   $(master_cfinput)/ dest=$(local_cfinput)
   r=inf mode=600
   trustkey=true
   type=checksum
   ignore=cfservd.conf
   ignore=cfrun.hosts
   server=$(policyhost)

在那個文件夾中有兩個文件,瞧!

引用自:https://serverfault.com/questions/342278