如何搜索.kitchen.yml属性

时间:2017-03-15 05:05:33

标签: chef chef-recipe test-kitchen

我想用

搜索主机名
searchnode = search(:node, "zookeeper:true")

想要输出Hostname.fqdn.com作为节点,但我没有得到它。也许我不知道如何访问该属性。

---
driver:
  name: vagrant

provisioner:
  name: chef_zero
  environments_path: test/integration/default/environments
  client_rb:
    environment: stg

  always_update_cookbooks: true

verifier:
  name: inspec

platforms:
  - name: centos-7.2

suites:
  - name: Hostname.fqdn.com
    run_list:

          - recipe[test-cookbook::test]


    data_bags_path: "test/integration/default/data_bags"


attributes: {zookeeper: "true"}

1 个答案:

答案 0 :(得分:3)

您的.kitchen.yml无效,因为忽略了顶级attributes部分。你应该将它移到suite的元素下面(缩进与YAML有关!):

suites:
  - name: Hostname.fqdn.com
    run_list:
      - recipe[test-cookbook::test]
    data_bags_path: "test/integration/default/data_bags"
    attributes: {zookeeper: "true"}

然后,您的search应找到此节点。您可以使用kitchen diagnose查看结果属性。

如果要模拟测试厨房中的其他节点,可以将包含节点定义的JSON文件放在test/integration/nodes中(在this cookbook中使用;可以通过node_path配置) 。然后,您可以使用搜索来发现"其他节点基于其属性或运行列表。