2014-07-13 45 views
3

我不确定我是否理解角色应该如何与厨师独奏一起使用。更具体地讲,我寻找答案了以下问题:如何正确使用厨师独奏角色

(一)什么是告诉厨师独奏与一定的作用运行语法?我设法使用:

chef-solo --override-runlist "role["oracle"]" 

但它是“正确”的方式做到这一点(我希望我不会需要“越权”的标准使用的厨师角色的任何东西)?另外,如果我使用这个命令,它是否也加载了我指定的角色的所有属性,而不仅仅是运行列表?

(二)是否有办法有从solo.rb引用的“默认”运行列表,然后有部分(或全部)的角色有点“参考”了吗?我有几个需要在所有角色和环境下运行的食谱,我宁愿将它们复制到我的所有角色json文件(出于可维护性的原因)。

(附注:我在Windows上运行的厨师独奏,以防它在某种程度上重要...)

回答

7

您可以使用JSON属性参数厨师独奏。

运行

chef-solo -c conf.rb -j conf.json 

conf.rb设置菜谱路径,文件缓存路径,并且要玩弄任何其他全局设置,并conf.json看起来是这样的:

{ 
    "some_attr": true, 
    "run_list": [ 
    "role[solo_provisioned_node]", 
    "recipe[mycookbook::myrecipe]" 
    ] 
} 

或你给的例子,只是

{ 
    "run_list": [ 
    "role[oracle]" 
    ] 
}