【问题标题】:Why doesn't "knife upload roles" upload any roles?为什么“刀上传角色”不上传任何角色?
【发布时间】:2017-06-20 11:51:44
【问题描述】:

我遵循了 OpsCode quickstart guide,事情进展得相当顺利,但现在我在尝试角色时遇到了问题。我在我的存储库中有一个由 OpsCode 提供的“启动器”角色。当我关注第一个 official documentation 时,我可以从我的 chef repo 顶部找到并运行以下内容:

knife upload roles

它只是返回并且没有任何反应。我的厨师服务器上没有任何角色(新的或更新的)。以下行确实用于创建和更新:

knife role from file .\roles\starter.rb

但我发现它过于繁琐,我更喜欢将我的整个 repo 推送到服务器(或至少所有角色)的东西,以使我更有信心一切都是最新的。

【问题讨论】:

    标签: chef-infra knife


    【解决方案1】:

    是的,在这种情况下,Chef 有点不一致。我使用接下来的 3 行将整个 repo 推送到 chef-server(当然是在测试通过之后):

    knife cookbook upload --all
    knife role from file roles/*.rb
    knife data bag from file --all
    

    【讨论】:

    • 很抱歉您没有回答问题,为什么knife upload 不起作用?官方描述应该做它所说的。对我来说,这非常舒服。
    • 你也可以rake install
    • 对于我们这些将角色保存为 JSON 文件的人:knife role from file roles/*.json
    【解决方案2】:

    刀上传基于之前的刀必备 gem(现在以 chef_fs 的名称合并到厨师中)。

    https://github.com/opscode/chef/issues/1641(和https://github.com/jkeiser/knife-essentials/issues/67)描述了这个问题:knife upload 仅支持角色的 .json 文件。

    这就是你的命令knife upload 不输出任何内容的原因。

    如果要使用knife上传,则必须先将所有角色转换为json(以https://gist.github.com/red56/834890为例)

    【讨论】:

    • 希望这将很快在 ChefDK 版本的刀中得到解决。
    【解决方案3】:

    来自 Draco 的建议解决方案,我无法上传 data_bags。这就是我所做的。

    knife cookbook upload --all
    knife role from file roles/*.rb
    knife upload data_bags/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 2019-10-20
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      相关资源
      最近更新 更多