cookbook ohai

时间:2015-10-21 15:09:02

标签: vagrant chef-solo

我正在使用vagrant和chef-solo运行配置设置来安装gitlab cookbook(但是,这个问题似乎并不特定于gitlab cookbook)。

运行列表很简单:


    {
      "run_list": [
        "recipe[ohai::default]"
      ]
    }  


Chef-solo run(chef-solo -c solo.rb -j dna.json)导致以下错误:

Error executing action create on resource 'cookbook_file[/etc/chef/ohai_plugins/README]'

文件在那里:


    # ls -l /tmp/vagrant-chef/e939c8a8cabcf9cdd72f5d7c3a98d728/cookbooks/ohai-2.0.1/files/default/plugins/README
        -rwxrwxrwx. 1 vagrant vagrant 49 Oct 21 13:16 /tmp/vagrant-chef/e939c8a8cabcf9cdd72f5d7c3a98d728/cookbooks/ohai-2.0.1/files/default/plugins/README

当我用'strace'检查进程时,看起来我可以看到错误来源:

    10444      0.000210 stat("/tmp/vagrant-chef/cookbooks/cookbooks/ohai/files/default/plugins/README", 0x7ffff0570bb0) = -1 ENOENT (No such file or directory)

如果您注意到,该食谱的名称为create,但该过程正在尝试访问食谱'ohai-2.0.1'(即没有版本号)。

之前还有其他人遇到过这个吗?我已经看到另一个与该问题相关的帖子,建议将'ohai'放在运行列表中,我已经完成了(参见上面的dna.json)

1 个答案:

答案 0 :(得分:0)

使用Berkshelf时发生了这种情况。它为所有食谱name-version命名,而不仅仅是name。为了解决这个问题,我做了berks vendor并将该目录添加到我的cookbook路径中。现在一切正常!