摘要: 我遇到了“来自文件的刀数据包”的问题,其中刀不能识别从远程git仓库下拉的.json数据包文件. 背景: 我正在尝试从厨师独奏使用过渡到厨师服务器,同时使用我们的远程git仓库
我遇到了“来自文件的刀数据包”的问题,其中刀不能识别从远程git仓库下拉的.json数据包文件.
背景:
我正在尝试从厨师独奏使用过渡到厨师服务器,同时使用我们的远程git仓库中的食谱,数据包和其他厨师信息.
我现在已经下载了我们的git repo副本,并在knife.rb中设置了cookbook路径和数据包路径.我还装了食谱,做了调整等.
细节:
当试图通过“从文件FOLDER FILE添加刀数据包”来加载我们的.json数据包时,看起来它工作直到我做“刀数据包列表”并且它出现空白.所以我决定尝试在末尾添加编辑选项以查看正在加载的内容,如果是的话.这是我得到的错误:
knife data bag from file local_settings test.json -e nano ERROR: Could not find or open file 'test.json' in current directory or in 'data_bags/local_settings/test.json'
数据包文件确实存在于正确位置的已测试的工作json文件中.我有时也会收到一条错误,说“无法打开数据包”local_settings“.
我显然希望将数据包路径保存在适当的git repo文件夹中,以便能够跟踪更集中的位置(我们的git repo,而不是Chef服务器)中的更改.
任何有正确方向的解决方案,建议或指示都会受到赞赏.
我不认为从文件中使用-e nano选项刀数据包是有效的(尽管命令行帮助暗示其他方式),但它应该被忽略.该错误意味着刀无法找到您指定的json文件.当你说项目位于正确的位置时,到底在哪里?请注意,刀将相对于您当前的目录而不是您的chef-repo.修复此问题后,您将遇到另一个问题 – 您需要先创建数据包,然后才能向其中添加项目.它应该在创建后立即显示在刀具数据包列表输出中:
$knife data bag create local_settings Created data_bag[local_settings] $knife data bag list local_settings
“刀数据包”的文档可在此处找到:http://wiki.opscode.com/display/chef/Managing+Data+Bags+With+Knife