如何搜索 .kitchen.yml 属性
How to search the .kitchen.yml attributes
我想用
搜索主机名
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"}
您的 .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; can be configured via node_path
中所用)。然后,您可以根据其他节点的属性或 运行 列表使用搜索 "discover" 其他节点。
我想用
搜索主机名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"}
您的 .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; can be configured via node_path
中所用)。然后,您可以根据其他节点的属性或 运行 列表使用搜索 "discover" 其他节点。