Berkshelf在将烹饪书上传到Chef Server时遇到问题



我正试图使用Berkshelf将一本有一些依赖项的食谱上传到我的Chef Server。当我使用chef exec berks upload时,我会看到一堆不同的错误。我目前的设置是使用最新或接近ChefDK的版本,使用具有以下文件结构的chef_reo。我有多个不同Orgs的转发,我为不同的厨师服务器着迷。我的$HOME/.chef/中没有任何内容,或者在Windows上,C:chef甚至不存在。我在我的Windows、CentOS 7 VM和Docker容器之间共享相同的chef_reo,所以这一点没有改变。chef_reo是通过使用chef generate repo命令生成的。

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-检查

我的刀.rb的内容如下

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-00刀rb

当我尝试使用Berkshelf上传这些烹饪书时,我不确定我做错了什么。

CMD上,使用Cmder

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_cmder_berks-rb

正如你在这个Gist中看到的,我能够做一个chef exec knife ssl check,它成功了。

关于Cygwin

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_cygwin_berks-rb

在CentOS 7上,

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_centros7_berks-rb

在centos7使用Docker的centos7图像,

https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_docker_centos7_berks-rb

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

--编辑2016-02-27-

作为临时工作,我不得不使用--no-ssl-verify,以便berks上传食谱。然而,这似乎是ridley-4.3.2的一个错误。然后berks也没有"遵守"我的刀中的ENV[SSL_CERTS_DIR]ENV[SSL_CERTS_FILE]声明。rb已经提交了一个bug。我想这个bug是一个突出的bug。

Berkshelf使用自己的配置解析系统,该系统可能无法成功读取knife.rb。这不是很可能,但其中的一些排列或没有找到正确的文件夹可能是一个促成因素。您可以通过创建一个包含所需数据的Berkshelf config.json来解决此问题。

最新更新