In my .kitchen.yml
config I am trying apply attributes depending on platform version. My kitchen config looks like that:
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"
During kitchen converge
process I am not able to get pg_version
value correctly. For this code in my chef script pp node.debug_value('pg_version')
output is the following:
[["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]]
I don't clearly understand this result. I assume precedence level of the attribute I specified in platforms
yml section is normal
, so how can I get it?
User danieljimenez also raised similar question here.
The various precedence levels are merged into a single
node
object. You'll want to access it usingnode['pg_version']
in your case. You only neednode.default
,node.set
,node.override
when setting the value.