Override_attributes setting not being overridden. Two roles, an environment and a node


Using Chef Server 12.14.98

I have Role A. Role A has override_attributes and a few recipes. The override attributes include a key/value pair: “attribute_key_name: key_value_1”

I have role B. Role B has no override attributes and a runlist which at the top includes role A.

I have an environment, environment A. The environment has the override attribute: “attribute_key_name: key_value_2”

I have a node which has a runlist that only includes role B and environment A.

What I expect is for my node to have attribute “attribute_key_name” to have the value “key_value_2”. Instead, it has “key_value_1”.

If, in role B, I duplicate the override_attributes from role A, I can successfully override the attributes from Role B using my environment.

So it seems as though attributes are not transitive up the role stack?

Is this expected behavior? Nothing I see in documentation would suggest that this is the case.