【问题标题】:Berkshelf having issues uploading cookbooks to Chef-ServerBerkshelf 在将食谱上传到 Chef-Server 时遇到问题
【发布时间】:2016-02-28 07:20:20
【问题描述】:

我正在尝试使用 Berkshelf 将包含一些依赖项的食谱上传到我的 Chef-Server。当我使用chef exec berks upload 时,我会遇到一堆不同的错误。我当前的设置使用具有以下文件结构的 chef_repo 使用最新或接近的 ChefDK 版本。我为不同的 Chef-Servers 挂钩的多个不同的组织有多个存储库。我的$HOME/.chef/ 中没有任何内容,或者在Windows 上,C:\chef\ 甚至都不存在。我在我的 Windows、CentOS 7 VM 和我的 Docker 容器之间共享同一个 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

正如您在此 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_centos7_berks-rb

在 CentOS 7 上使用 Docker 的 CentOS 7 镜像,

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 也没有“尊重”我的knife.rb There's a bug submitted for it already. 中的ENV[SSL_CERTS_DIR]ENV[SSL_CERTS_FILE] 语句我猜这个错误是一个突出的错误。

【问题讨论】:

    标签: chef-infra cookbook berkshelf chefdk


    【解决方案1】:

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

    【讨论】:

    • 我是否必须为我拥有的每个 chef-repo 修改 config.json?我的食谱有一个中心位置,然后每个 chef-repo 都绑定到不同的 Chef-Server。
    • 是的:-/理论上 Berkshelf 应该反映 Chef 自己的刀配置加载(尽管使用不同的底层代码)。你能粘贴你的knife.rb吗?有什么明显的问题我可以试试看。
    • 这是我的knife.rb。它在我的chef-repo/.chef/ 目录中,而我的食谱在不同的目录中,所以我没有每个 repo 的一堆副本。
    • 我没看到你在哪里添加的?
    • 看起来不错,没什么太复杂的。我会撬开或放入 knife.rb,这样您就可以在加载时看到 certs_loc 是什么。可能是相对路径问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    相关资源
    最近更新 更多