2016-08-09 3 views
0

実際には、いくつかの同じインスタンスを持つDocker Containerを軽微な違いを持つホストに自動的にインストールするために、無理なプレイブックを作成しています。可能な変数のみホストあたりX回

"Customers"という変数ファイルがあり、すべての顧客が独自のドッカーコンテナを持っています。私はたくさんのホストを持っています。ホストごとに5つの異なる5つのコンテナでインスタンスを5つ展開します。もちろん、私はホスト名で新しいvarを定義することができますが、ちょっとスマートに見えます。それは "okay、already 5 instances、next host"です。

答えて

1

解決策:オフセットとして

--- 
- hosts: all 
    gather_facts: no 
    vars: 
    containers: ['cont1', 'cont2', 'cont3', 'cont4', 'cont5', 'cont6', 'cont7', 'cont8'] 
    per_host: 3 
    tasks: 
    - debug: msg='Deploy {{ item }}' 
     with_items: '{{ containers[ play_hosts.index(inventory_hostname)*per_host : (play_hosts.index(inventory_hostname)+1)*per_host] }}' 

これはper_hostベースのサイズとホストインデックスにcontainersリストのセクションがかかります。
この例では、インベントリ内のホストごとに3つ以下のデバッグを受信します。

関連する問題