我正在尝试使用Berkshelf上传一本带有几个依赖项的食谱到我的厨师服务器。当我使用chef exec berks upload时,我会看到一堆不同的错误。我当前的设置使用的是最新的或接近最新的ChefDK版本,使用的是具有以下文件结构的chef_repo。我有多个不同的组织,我连接到不同的厨师服务器的多个repos。我的$HOME/.chef/里什么都没有,在Windows上,C:\chef\甚至都不存在。我在我的Windows7虚拟机和我的CentOS容器之间共享相同的chef_repo,所以这一点没有改变。chef_repo是使用chef generate repo命令生成的。
https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_repo_setup
我的knife.rb的内容如下
https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-00-knife-rb
当我尝试使用Berkshelf上传这些食谱时,我不确定我做错了什么。
在CMD上,使用Cmder
https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_cmder_berks-rb
正如你在这篇文章中看到的,我能够做一个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_centos7_berks-rb
在使用Docker的CentOS 7镜像的CentOS 7上,
https://gist.github.com/predatorian3/24ba83bd7e98ac7300bf#file-chefdk_docker_centos7_berks-rb
使用纯Ruby安装,并安装厨师RubyGem和伯克架gem,产生相同的错误,除了关于一些webagent cookie的部分,我认为这是很好的。
--编辑2016-02-27--
作为一种临时的解决办法,我不得不使用--no-ssl-verify来让berks上传食谱。然而,这似乎是ridley-4.3.2的一个错误。那么berks也没有“遵守”我的knife.rb There's a bug submitted for it already.中的ENV[SSL_CERTS_DIR]或ENV[SSL_CERTS_FILE]语句我猜这个bug是一个突出的bug。
发布于 2015-11-17 11:42:31
伯克架使用自己的配置解析系统,该系统可能无法成功读取您的knife.rb。这不太可能,但一些排列或没有在正确的文件夹中查找可能是一个促成因素。您可以通过创建一个包含所需数据的伯克架config.json来解决此问题。
https://stackoverflow.com/questions/33747520
复制相似问题