在我的.kitchen.yml
配置中,我正在尝试根据平台版本应用属性。我的厨房配置看起来像这样:
platforms:
- name: centos-6.3
driver_plugin: ec2
driver:
image_id: ami-xxxxxxxx
attributes:
pg_version: "9.3"
- name: centos-6.5
driver_plugin: ec2
driver:
image_id: ami-yyyyyyyy
attributes:
pg_version: "9.4"
在kitchen converge
过程中,我无法正确获得pg_version
值。对于我的主厨脚本pp node.debug_value('pg_version')
中的此代码,输出如下:
[["set_unless_enabled?", false],
["default", :not_present],
["env_default", :not_present],
["role_default", :not_present],
["force_default", :not_present],
["normal", "9.4"],
["override", :not_present],
["role_override", :not_present],
["env_override", :not_present],
["force_override", :not_present],
["automatic", :not_present]]
我不清楚这个结果。我假设我在platforms
yml部分中指定的属性的优先级是normal
,那么我怎样才能得到它?
用户danieljimenez也提出了类似问题here。
答案 0 :(得分:2)
各种优先级被合并到一个node
对象中。您希望在您的情况下使用node['pg_version']
访问它。设置值时,您只需要node.default
,node.set
,node.override
。