2017-07-25 11 views
2

私は2つのプレイブックを作成したいと思います.1つは環境を停止し、もう1つは開始することです。アシスタントタスクシリアル1逆順

環境の一部は、停止/開始の順序が非常に重要なRabbitMQクラスタです。特に、停止した最後のノードは開始された最初のノードである必要があります。

グループに対してタスクを実行するために逆の順序を指定する方法があるのだろうかと思っていました。 そうすれば、シリアル1でストップを適用し、シリアル1でスタートし、グループの順序を逆にすることができます。

これを行う方法は見つかっていませんが、逆の順序でrabbitmqホストグループを2回(別名で)定義すると少し不快なようです。

はまた、次の未遂:

- hosts: "{ myhostsgroup | sort(reverse=False) }" 
    serial: 1 

そして

- hosts: "{ myhostsgroup | reverse }" 
    serial: 1 

をしかし、結果はどちらのケースとその変化(逆、真=リバース|リスト)、同じまま

どれをしようとしています助けていただければ幸いです。

答えて

5

あなたは、実行時に動的グループを作成することができます。

--- 
- hosts: localhost 
    gather_facts: no 
    tasks: 
    - add_host: 
     name: "{{ item }}" 
     group: forward 
     with_items: "{{ groups['mygroup'] }}" 

    - add_host: 
     name: "{{ item }}" 
     group: backward 
     with_items: "{{ groups['mygroup'] | reverse | list }}" 

- hosts: forward 
    gather_facts: no 
    serial: 1 
    tasks: 
    - debug: 

- hosts: backward 
    gather_facts: no 
    serial: 1 
    tasks: 
    - debug: 
+0

おかげで、私が探していたまさに。 – Olivier