Chef主角色依赖关系覆盖

时间:2019-04-25 07:24:53

标签: chef roles chef-recipe

我有以下厨师设置:

  • 主角
  • 上一个中包含的sub-role1 / 2
{
  "name": "master-role",
  "chef_type": "role",
  "run_list": [
    "role[sub-role1]",
    "recipe[sub-role2]"
  ]
}

{
  "name": "sub-role1",
  "chef_type": "role",
  "run_list": [
    "recipe[a_cookbook::recipe1]",
    "recipe[a_cookbook::recipe2]"
  ]
}

{
  "name": "sub-role2",
  "chef_type": "role",
  "run_list": [
    "recipe[b_cookbook::recipe1]",
    "recipe[b_cookbook::recipe2]"
  ]
}

由于食谱的一个版本在节点级别上是单例,这意味着如果我以主角色指定食谱的版本,则该版本将用于该节点上该食谱的所有食谱(甚至用于子角色食谱)。这有效,实际上是我需要的方式。 不幸的是,如果我向主角色添加“ recipe [a_cookbook @ version]”,它将自动从该食谱中调用“ default.rb”配方。 是否可以在不实际调用默认配方(或任何其他配方)的情况下指定角色的食谱版本?

1 个答案:

答案 0 :(得分:0)

我相信您可以将默认配方保留为空,因为您不想执行它。您可以检查某些厨师食谱是否缺少默认食谱:https://github.com/chef-cookbooks/yum-mysql-community