CFEngine与捆绑代理中的主机名匹配

问题描述:

我是CFEngine的新手,我试图根据主机名执行一些操作。CFEngine与捆绑代理中的主机名匹配

例如:所有主机名具有稳定应包含SLIST包1个 有测试所有的主机名应包含SLIST包2

bundle agent package_lists { 
packages: 
stable&dist_class:: 
    "$(user_packages.package_stable)" 
      package_policy => "add", 
      package_method => yuck, 
      classes => if_repaired("package_changed"); 
} 

我想改变这包括在它们与测试主机良好

应该增加测试是否足够?我无法理解dist_class ::和stable是什么。

稳定版& dist_class ::

+ 测试 &稳定& dist_class ::

我相信你应该使用OR运算符 '||'而不是'&'/'& &'操作符(假设您正在讨论代表所有三个类需要相同软件包安装的服务器组的类)。使用&符号(&)或点(。)将只匹配属于所有三个类而不是个人的服务器。 https://docs.cfengine.com/docs/3.5/manuals-language-concepts-classes.html

如果您只想匹配一次匹配所有三个类定义的服务器,那么&符号就是(一个)要走的路。

就我个人而言,我喜欢将事物尽可能原子化,所以我实际上会分别定义所有三个类的承诺,或者为通用包创建一个新类,以确保上述服务器属于该类。

+0

OR运算符只是'|';你不需要其中的两个。例如。 '测试|稳定| dist_class ::' – Wildcard 2016-02-09 07:56:41