我正在使用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)
答案 0 :(得分:0)
使用Berkshelf时发生了这种情况。它为所有食谱name-version
命名,而不仅仅是name
。为了解决这个问题,我做了berks vendor
并将该目录添加到我的cookbook路径中。现在一切正常!