ell*_*era 5 automation provisioning chef knife
我遇到了“文件中的刀数据包”问题,其中刀无法识别从远程 git 存储库中提取的 .json 数据包文件。
我目前正在尝试从厨师单独使用过渡到厨师服务器,同时使用来自我们远程 git 存储库的食谱、数据包和其他厨师信息。
我目前已经提取了我们的 git 存储库的副本,并在 Knife.rb 中设置了食谱路径和数据包路径。我还加载了食谱,进行了调整等。
当尝试通过执行“从文件文件夹文件添加刀具数据包”来加载我们的 .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'
Run Code Online (Sandbox Code Playgroud)
数据包文件确实存在,在适当的位置,在一个经过测试的工作 json 文件中。我有时也收到一条错误消息,提示“无法打开数据包“local_settings”。
我显然希望将数据包路径保留在适当的 git repo 文件夹中,以便能够在更集中的位置(我们的 git repo,而不是厨师服务器)跟踪更改。
任何正确方向的解决方案、建议或指示都值得赞赏。
-e nano
我认为使用选项是无效的knife data bag from file
(尽管命令行帮助暗示了其他情况),但应该忽略它。该错误意味着 Knife 找不到您指定的 json 文件。当你说该物品位于正确位置时,它到底在哪里?请注意,knife 将相对于您当前的目录而不是您的厨师存储库进行查找。
解决这个问题后,您将遇到另一个问题 - 您需要先创建数据包,然后才能向其中添加项目。knife data bag list
创建后它应该立即显示在输出中:
$ knife data bag create local_settings
Created data_bag[local_settings]
$ knife data bag list
local_settings
Run Code Online (Sandbox Code Playgroud)
“刀具数据包”的文档可以在这里找到:http://wiki.opscode.com/display/chef/Managing+Data+Bags+With+Knife
归档时间: |
|
查看次数: |
9561 次 |
最近记录: |