Ansible - グループ内の特定のホストに対してのみユーザーに入力するように求められます。

Ansible - グループ内の特定のホストに対してのみユーザーに入力するように求められます。

複数の環境があり、それらをグループ化し、各グループには複数のホストがあります。

スクリプトの実行中にユーザーが指示を入力したかったので、これについて知りました。モジュールの一時停止しかし、問題は、when条件を設定してもグループの最初のホストに対してのみ実行され、他のすべてのホストを無視することです。 when条件に記載されているサーバーに対してのみこのプロンプトを実行する方法はありますか?

- name: Reading user input to start/stop for aio or manually
        pause:
          prompt: "You want to stop Application from aio or manually "
        register: restartmethod
        when: deploypackages == "y" and (ansible_default_ipv4.address == "192.168.4.28" or ansible_default_ipv4.address == "192.168.5.28" or ansible_default_ipv4.address == "192.168.6.28" or ansible_default_ipv4.address == "192.168.7.28" )

ベストアンサー1

- name: Reading user input to start/stop for aio or manually
        pause:
          prompt: "You want to stop Application from aio or manually "
        run_once:  true (Remove this)
        register: restartmethod
        when: deploypackages == "y" and (ansible_default_ipv4.address == "192.168.4.28" or ansible_default_ipv4.address == "192.168.5.28" or ansible_default_ipv4.address == "192.168.6.28" or ansible_default_ipv4.address == "192.168.7.28" )

条件が満たされたら、ホストで実行するようにrun_once行を削除します。

おすすめ記事