CFEngine v2 不会将类“传播”到客户端

CFEngine v2 不会将类“传播”到客户端

早晨,

我对 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)。

有人对此有什么想法吗?我不知道如何定义类并且配置相同。

如果能提供任何提示或建议我将非常感谢。

问候

答案1

在意识到错误在于 cf.main 和 cf.groups 没有被复制之后,我很快明白了文件传输出了问题,在比较 update.conf 之后,我立即发现了错误,我在 dev8 和 dev16 上更改了 update.conf,一切都立即恢复正常。

我认为这是一个错误,在有故障的客户端上并不存在这个错误。

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

该文件夹中有两个文件,瞧!

相关内容