我需要测试厨师食谱。这是使用数据包。
kitchen
正在使用chef_zero
来配置计算机。因此,它无法将我的数据包托管在服务器上。然后它告诉我我的数据包不可用。
我怎样才能在测试厨房上获得数据包?
我在aws.json
上创建了test\integration\data_bags
文件:
{
"id": "dev",
"aws_access_key_id": "----",
"aws_secret_access_key": "----"
}
当我执行收敛时,我收到了这条消息:
INFO:HTTP请求返回404未找到:找不到对象:chefzero:// localhost:8889 / data / aws / dev
错误:无法加载数据包项目:“aws”“dev”
.kitchen.yml
文件内容:
---
driver:
name: vagrant
provisioner:
name: chef_zero
always_update_cookbooks: true
verifier:
name: inspec
platforms:
- name: ubuntu-16.04
- name: centos-7.2
suites:
- name: default
data_bags_path: "test/integration/data_bags"
run_list:
- recipe[living-development::default]
verifier:
inspec_tests:
- test/smoke/default
attributes:
版本:
$ vagrant -v
1.9.2
$ chef -v
Chef Development Kit Version: 1.2.22
chef-client version: 12.18.31
delivery version: master (0b746cafed65a9ea1a79de3cc546e7922de9187c)
berks version: 2017-03-08T11:19:04.643719 5824] 2017-03-08T11:19:04.643719 5824] 2017-03-08T11:19:04.643719 5824] 2017-03-08T11:19:04.643719 5824] 2017-03-08T11:19:04.700789 5824] 2017-03-08T11:19:04.700789 5824] 5.6.0
kitchen version: 1.15.0
答案 0 :(得分:6)
服务器错误表示正在搜索名为aws/dev
的内容(其中aws
是数据包的名称,dev
是该数据包中的项目名称)
因此您必须将JSON文件放在test/integration/data_bags/aws/dev.json
。
顺便说一下。您不必手动指定data_bags_path
,因为测试厨房将在此路径中搜索项目。