Playbook của bạn sẽ dừng khi xảy ra lỗi và bạn đang sử dụng serial: 1
theo tài liệu .
Theo mặc định, Ansible sẽ tiếp tục thực hiện các hành động miễn là có các máy chủ trong nhóm chưa bị lỗi.
Điều đó nói rằng dường như có một số nhầm lẫn trong cộng đồng về hành vi mặc định và dường như nó đã thay đổi - hoặc bị lỗi - ở đâu đó giữa 1.8 và 2.1.
Vì vậy, nếu serial: 1
không đủ, hãy sử dụng cài đặt bổ sung này:
max_failure_percentage: 0
Trong một số tình huống, chẳng hạn như với các bản cập nhật được mô tả ở trên, có thể nên hủy bỏ vở kịch khi đã đạt đến một ngưỡng thất bại nhất định. Để đạt được điều này, kể từ phiên bản 1.3, bạn có thể đặt tỷ lệ thất bại tối đa ...
==
Đối với việc thử lại Playbook của bạn, bạn sẽ thấy một thông báo thất bại như thế này:
to retry, use: --limit @/home/user/site.retry
Sử dụng --limit
cờ đó và trong lần thực hiện tiếp theo của bạn ansible-playbook
và nó sẽ tiếp tục từ nơi thất bại.
Thử lại các tệp sẽ được tạo trừ khi bạn đặt retry_files_enabled = False
trong cấu hình của mình.
Ngoài ra, --start-at-task
cũng có thể làm việc.
Nguồn:
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-enables
http://docs.ansible.com/ansible/playbooks_startnstep.html#start-at-task