【问题标题】:Unable to configure non-latest chef-dk install无法配置非最新的 chef-dk 安装
【发布时间】:2019-02-25 02:44:11
【问题描述】:

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

我应该提到,VM 是为食谱开发的,所以我想要正确版本的 chef。

为了安装正确的版本,我缺少什么?

谢谢。

食谱/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'

berks 文件: cookbook 'chef-dk'

【问题讨论】:

    标签: vagrant chef-infra chefdk


    【解决方案1】:

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

    【讨论】:

    • 谢谢。 VM 是为了绕过 Ruby 在 Windows 上的糟糕性能。我可以在我的 Windows 笔记本电脑上编写代码,将文件夹同步到 vagrant 机器,然后在其上执行测试/其他主厨 ruby​​。它的速度更快。而且我想我也可以从中经营厨房,但还没有解决这个问题。
    • 是的,如果可能的话,我至少会先尝试 WSL,它也有问题,但至少有点 UX :)
    • 抱歉,WSL 是什么?
    • Linux-in-Windows 可用于非常新的版本。
    • 推荐给主厨开发的 Linux 发行版是什么? WSL 目前提供: - Ubuntu、OpenSUSE Leap 4.2、SUSE Linux Enterprise Server 12、Debian GNU/Linux 和 Kali Linux。
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    相关资源
    最近更新 更多