指定したIPで構成する必要があるプレイブックがあり、このアプリに接続して内部のものを構成する必要があります。
問題があります:アプリの構成で何かを変更した後、アプリを再起動する必要があり、アプリを再起動しないと、アプリへの接続に失敗しました(アプリは新しいIPアドレスの新しい構成について何も知らないため、接続できません) mアクセスしようとしています)。
私の現在のプレイブック:
tasks:
- name: Configure app
template: src=app.conf.j2 dest=/etc/app.conf
notify: restart app
- name: Change data in app
configure_app: Host={{new_ip}} data={{data}}
handlers:
- name: restart app
service: name=app state=restarted
「アプリのデータを変更」を実行する前にconfigure_app
が変更された場合、ハンドラーを強制的に実行する必要があります。
プレイの最後ではなく、2つのタスクの間にハンドラーを強制的に実行する場合は、2つのタスクの間にこれを配置する必要があります。
- meta: flush_handlers
Ansible documentation からの例:
tasks:
- Shell: some tasks go here
- meta: flush_handlers
- Shell: some other tasks
これにより、特定の1つだけでなく、all保留中のハンドラーがその時点で実行されることに注意してください。