2016-10-19 9 views
1

私はChef Zero(またはChef Localモード)を使用しています。サーバーを使用することはできません。私は実行したいデフォルトのレシピを持つ料理本を持っています。私のシナリオでは、異なる属性を除いて、検索/ノードごとにそのレシピを複数回実行したいと考えています。その後同じレシピで異なるノードに異なる属性を持たせるにはどうすればよいですか?

node.default["cookbookname"] = { 
    "node1" => { 
    "state" => "desired_state" 
    ... 
    } 
    "node2" => { ... } 
    ... 
} 

次のことができます。

レシピの重要な部分:

keepalived_vrrp_instance 'inside_network' do 
    state node['cookbookname']['state'] 
    interface node['network']['default_interface'] 
    virtual_router_id node['cookbookname']['router_id'] 
    priority node['cookbookname']['priority'] 
    virtual_ipaddress node['cookbookname']['virtual_ips'] 
end 

答えて

1

あなたは、各ノード名の属性のハッシュを定義することができます(attributesは、属性ファイルまたはenvironementに定義することができます)レシピに使用:

keepalived_vrrp_instance 'inside_network' do 
    state node["cookbookname"][node["name"]]["state"] 
    ... 
end 
関連する問題