我需要测试厨师食谱.这是使用数据包.
kitchen是使用chef_zero以提供机器.因此,它无法将我的数据包托管在服务器上.然后它告诉我我的数据包不可用.
我怎样才能在测试厨房上获得数据包?
我创建了一个aws.json文件test\integration\data_bags:
{
"id": "dev",
"aws_access_key_id": "----",
"aws_secret_access_key": "----"
}
Run Code Online (Sandbox Code Playgroud)
当我执行收敛时,我收到此消息:
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:
Run Code Online (Sandbox Code Playgroud)
版本:
$ 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
Run Code Online (Sandbox Code Playgroud)
服务器错误表示正在搜索调用的内容aws/dev(aws数据包的名称在哪里,并且是该数据包中项目的名称dev).
所以你必须放置你的JSON文件test/integration/data_bags/aws/dev.json.
顺便说一句.您不必手动指定data_bags_path,因为测试厨房将在此路径中搜索项目.