답변:
오류가 발생하고 설명서serial: 1
에 따라 사용중인 경우 플레이 북이 중지됩니다 .
기본적으로 Ansible은 그룹에 아직 실패하지 않은 호스트가있는 한 계속 작업을 실행합니다.
그것은 기본 행동에 대해 커뮤니티에서 약간의 혼란이있는 것으로 보이며 1.8에서 2.1 사이에서 변경되었거나 버그가있는 것 같습니다.
그래서, 만약 serial: 1
충분하지 않습니다,이 추가 설정을 사용합니다 :
max_failure_percentage: 0
위에서 설명한 롤링 업데이트와 같은 일부 상황에서는 특정 실패 임계 값에 도달하면 재생을 중단하는 것이 바람직 할 수 있습니다. 이를 위해 1.3 버전부터 최대 실패율을 설정할 수 있습니다 ...
==
플레이 북을 다시 시도하면 다음과 같은 실패 메시지가 표시됩니다.
to retry, use: --limit @/home/user/site.retry
이 --limit
플래그를 사용하고 다음에 실행할 ansible-playbook
때 실패한 지점부터 계속됩니다.
retry_files_enabled = False
구성에서 설정하지 않으면 재시도 파일이 작성됩니다 .
대안으로 --start-at-task
작동 할 수도 있습니다.
출처 :
https://github.com/ansible/ansible/issues/1663
https://github.com/ansible/ansible/issues/16241
http://docs.ansible.com/ansible/playbooks_delegation.html#rolling-update-batch-size
http://docs.ansible.com/ansible/playbooks_delegation.html#maximum-failure-percentage
http://docs.ansible.com/ansible/intro_configuration.html#retry-files-enabled
http://docs.ansible.com/ansible/playbooks_startnstep.html#start-at-task
2.5 이상 (질문 뒤에)에는이 중 대부분을 다루는 디버거가 있습니다 : https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html
한 번에 하나씩, "-포크 1"을 사용하면 매번이 아니라 임시로 수행하려는 경우 한 번에 하나의 시스템에만 연결됩니다.