在单个生产服务器上测试对cookbook的更新

时间:2017-02-26 10:22:50

标签: chef

我们有时会在登台环境中对烹饪书进行全面测试,因为结果并不总能反映生产环境中可能发生的情况。作为一种解决方案,我尝试做的是冻结环境版本,如下所示:

{
  "name": "production",
  "description": "Production Environment",
  "cookbook_versions": {
    "deployment": "= 0.1.12"
  },
...

并通过在其运行列表中明确指定新版本来排除该限制的特定服务器,如下所示:

...
  "run_list": [
  "recipe[base]",
  "recipe[security]",
  "recipe[deployment::auto_war@0.1.13]"
]
...

问题是,当环境版本与run_list中指定的版本不同时,chef-client卡在resolving cookbooks for run list: ...

为什么?有办法解决这个问题吗?有没有更好的方法只在一台服务器上测试配方的更新?

1 个答案:

答案 0 :(得分:2)

您无法覆盖现有约束,因此您必须暂时将该节点移至新环境以进行测试。