複数の環境があり、それらをグループ化し、各グループには複数のホストがあります。
スクリプトの実行中にユーザーが指示を入力したかったので、これについて知りました。モジュールの一時停止しかし、問題は、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行を削除します。