2017-05-22 8 views
0

私は、lwrpリソースを持った独自のレガシー料理本で作業してきました。 その定義は、後のリソースの12と13の間の優先順位レベルでこの方法が効果的にそれを置く属性を設定するには(完全に役割およびenvを抑制)することをlwrpアクション内の属性オーバーライドは、効果的に優先順位12〜13のレベルですか?

action :someaction do 
... 
    node.override['attr_group']['attr_a'] = 'some value' #Precedence 10? 
... 
end 

は、右の私の仮定に私をアムような構築物がありますか?

私は、コンパイルフェーズでロールとenv属性が収集されるという結論から、コンバージェンスフェーズでは新しい値を実行/設定することを前提としています。

Node attributes precedence

アップデート1: のアクションの後に、後にリソースから見たノードの値[ 'attr_group'] [ 'attr_a']になりますどのような

{ 
    "name": "myrole", 
    "chef_type": "role", 
    "json_class": "Chef::Role", 
... 
    "override_attributes": { #Precedence 11 
    "attr_group": { 
     "attr_a": "value from role" 
    } 
    } 
} 

として設定役割を考えてみましょう:何かが実行された?

更新2: node.debug_valueのドキュメントは、ノードデータバケットのレイアウトを示しており、明らかに私の質問に答えています。

答えて

1

これらの名前でレベルを参照するのは一般的ではありませんが、これはそのリストのステップ10と同じことです。 9と10は同じレベルですが、ちょうどoverrideと呼ばれますが、異なる時間に設定されています。

関連する問題