为什么“刀上传角色”没有上传任何角色?

时间:2013-08-15 20:14:15

标签: chef knife

我遵循了OpsCode quickstart guide,事情进展顺利,但现在我遇到了试验角色的问题。我在我的仓库中有一个“起始”角色,由OpsCode提供。当我按照第一个official documentation时,我可以找到并从我的厨师回购顶部运行以下内容:

knife upload roles

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

knife role from file .\roles\starter.rb

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

3 个答案:

答案 0 :(得分:31)

是的,在这种情况下,厨师有点不一致。我使用接下来的3行将整个仓库推送到厨师服务器(当然在测试通过后):

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

答案 1 :(得分:4)

刀上传基于之前的knife-essentials宝石(现在以chef_fs的名义合并到厨师手中)。

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

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

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

答案 2 :(得分:0)

来自Draco的建议解决方案,我没有上传data_bags的工作。这就是我做的。

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