Chef infra 将烹饪书上载到厨师服务器时出现问题

Chef infra 将烹饪书上载到厨师服务器时出现问题,chef-infra,cookbook,berkshelf,chefdk,Chef Infra,Cookbook,Berkshelf,Chefdk,我正在尝试使用berkself将一本带有一些依赖项的烹饪书上传到我的厨师服务器。当我使用chef exec berks upload时,会出现一系列不同的错误。我当前的设置使用的是最新或接近ChefDK的版本,使用的是具有以下文件结构的chef_repo。我为不同的厨师服务器连接了多个不同的组织,有多个repo。我的$HOME/.chef/中没有任何内容,或者在Windows上,C:\chef\甚至不存在。我在我的Windows、CentOS 7虚拟机和Docker容器之间共享同一个chef_r

我正在尝试使用
berkself
将一本带有一些依赖项的烹饪书上传到我的厨师服务器。当我使用
chef exec berks upload
时,会出现一系列不同的错误。我当前的设置使用的是最新或接近ChefDK的版本,使用的是具有以下文件结构的chef_repo。我为不同的厨师服务器连接了多个不同的组织,有多个repo。我的
$HOME/.chef/
中没有任何内容,或者在Windows上,
C:\chef\
甚至不存在。我在我的Windows、CentOS 7虚拟机和Docker容器之间共享同一个chef_repo,所以这一点没有改变。chef_repo是使用
chef generate repo
命令生成的

my knife.rb的内容如下

当我试图使用
berkself
上传这些食谱时,我不确定自己做错了什么

CMD
上,使用
Cmder

正如您在本文要点中所看到的,我能够进行
chef exec-knife ssl检查
,结果成功了

Cygwin上

在CentOS 7

在CentOS 7上使用Docker的CentOS 7图像

使用纯Ruby安装,以及Chef RubyGem和Berkshelf gem安装,产生了相同的错误,除了关于webagent cookie的部分,我认为这是好的

--编辑2016-02-27--


作为一项临时工作,我必须使用
--no-ssl-verify
,以便伯克斯上传食谱。然而,这似乎是ridley-4.3.2的一个bug。那么伯克斯也没有“尊重”my knife.rb中的
ENV[SSL\u CERTS\u DIR]
ENV[SSL\u CERTS\u FILE]
语句,我想这个bug是一个突出的bug

Berkshellf使用自己的配置解析系统,该系统可能无法成功读取您的
knife.rb
。这不太可能,但这种情况的一些排列或不在正确的文件夹中查找可能是一个促成因素。您可以通过使用所需数据创建一个Berkshelf来解决这一问题。

我是否需要修改每个chef repo的config.json?我的烹饪书有一个中心位置,然后每个chef repo都绑定到不同的chef-Server。是的:-/理论上,Berkshelle应该反映chef自己的刀配置加载(尽管有不同的底层代码)。你能把你的刀贴在纸上吗?我可以试着看看是否有明显的故障。这是我的
刀.rb
。它在我的
chef repo/.chef/
目录中,我的烹饪书在不同的目录中,所以我没有为每个repo准备一堆副本。我不知道你在哪里添加了它?看起来不错,没有什么太复杂的。我会扔一个撬子或放进刀子.rb,这样你就可以在加载时看到什么是certs_loc。可能是相对路径问题?