测试厨师数据包

时间:2017-03-08 09:08:04

标签: chef

我需要测试厨师食谱。这是使用数据包。

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

1 个答案:

答案 0 :(得分:6)

服务器错误表示正在搜索名为aws/dev的内容(其中aws是数据包的名称,dev是该数据包中的项目名称)

因此您必须将JSON文件放在test/integration/data_bags/aws/dev.json

顺便说一下。您不必手动指定data_bags_path,因为测试厨房将在此路径中搜索项目。