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 줄을 제거합니다.

관련 정보