2016-08-22 6 views
1

配備可能な値を変更することは可能ですか? 2台のマシンでキープアライブを設定していますが、優先度のループを追加したいと思います。配備可能性:配備に基づいてテンプレートの値を変更する

range()関数は同じ展開内でループするだけなので、ループすることはできません。

私は優先順位を設定しようとしている:

  • LB1 = 100
  • LB2 = 101

マイVRRPインスタンスは、これまでのところ、次のようになります

vrrp_instance VI_1 { 
    state MASTER 
    interface {{ int }} 
    virtual_router_id 51 
    priority 100 <------------------- I'd like to iterate this value 
    advert_int 1 
    authentication { 
     auth_type PASS 
     auth_pass 1111 
    } 
    virtual_ipaddress { 
     # supports up to 20 by default 
     {% for ip in vips %} 
      {{ ip.addr }} 
     {% endfor %} 
    } 
} 

答えて

2

あなたはあなたのテンプレート内でホストインデックスを使用することができます(優先順位が高くなる人が気にしない場合):

priority {{ play_hosts.index(inventory_hostname) }} 

それとも、このようなあなたのインベントリファイル内のホスト変数として事前に優先順位を割り当てることができます。

server1 vrrp_priority=100 
server2 vrrp_priority=150 

...そして、あなたのテンプレート内で使用:

priority {{ vrrp_priority }} 
+0

uuuuuugh host_vars私はそんなにばかな気分だ。もちろん、それはかなりきれいです。ありがとう –