0

我们的组织尚未升级到 Chef 13 或 14,因此我们必须将所有食谱固定到版本 12。这意味着固定到 chef-dk 版本 1.6.11。我正在使用食谱在 Vagrant 中旋转 centos7 vm 并设置了版本,但它只会安装最新的 chefdk,这导致机器获得 Chef 14。我在 of 中添加了一个依赖metadata.rbchef_version ~> 12,因此配置失败,因为安装了 Chef 14,但食谱需要 12。

我应该提到 VM 是用于食谱开发的,所以我想要正确版本的厨师。

我缺少什么来安装正确的版本?

谢谢。

食谱/default.rb: node.default['chef_dk']['version'] = '1.6.11' node.default['chef_dk']['global_shell_init'] = true include_recipe 'chef-dk'

元数据.rb: depends 'chef-dk' chef_version '~> 12.0'

伯克斯文件: cookbook 'chef-dk'

4

1 回答 1

0

失败的部分是“外部”厨师,运行配方的东西,而不是 ChefDK 安装(它永远不会那么远)。我们通常不建议使用 Chef 安装 ChefDK,因为在同一台机器上同时安装 chef-client 和 ChefDK 安装程序会导致混淆,因为存在重叠的命令行工具。我会使用更简单的系统来配置开发 VM,可能是 bash 脚本或类似的。我们也在chef/chefdkHub 上为这类事情提供了 Docker 镜像。(我们也不建议在虚拟机中进行食谱开发,但我猜这艘船已经为你航行了)

于 2018-09-20T20:45:12.130 回答