Ansible에서 호스트에 대한 재생을 실행하는 데 문제가 있으면 호스트 이름을 ‘.retry’로 끝나는 사용자의 홈 디렉토리에있는 파일로 출력합니다. 이것들은 종종 사용되지 않고 혼란을 유발합니다. 끄거나 다른 디렉토리에 넣을 수 있습니까?
답변
.retry 파일의 작성 여부와 작성 위치를 제어하는 ansible.cfg 파일의 [defaults] 섹션에 추가 할 수있는 두 가지 옵션이 있습니다.
[defaults]
...
retry_files_enabled = True # Create them - the default
retry_files_enabled = False # Do not create them
retry_files_save_path = "~/" # The directory they will go into
# (home directory by default)
답변
사용 가능한 구성 파일을 수정하여 사용 가능한 파일에서 재시도 파일 작성을 사용하지 않을 수 있습니다.
[defaults]
...
retry_files_enabled = False
Ansible은 다음과 같이 구성 파일을 찾습니다.
- ./ansible.cfg
- ~ / .ansible.cfg
- /etc/ansible/ansible.cfg
해당 구성 파일에 변경 사항을 추가하십시오.
답변
환경 변수 ANSIBLE_RETRY_FILES_ENABLED
를 0
다음과 같이 설정하여 재시도 파일을 끌 수도 있습니다 .
$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...
답변
재밌는 점은 재시도 파일과 비슷한 문제가 있었지만 전체 팀과 함께 작업하면서 구성을 건드리지 않는 것입니다.
내가 대신하기로 한 것은 플레이 북에서 실행의 일부로 재시도 파일을 제거하는 것이 었습니다.
#Clean up the admin node - basic housekeeping
- hosts:
- admin
gather_facts: no
tasks:
- name: remove retry file
file:
path: "{{ item }}"
state: absent
with_fileglob:
- "{{playbook_dir}}/*.retry"
답변
기본 ansible.cfg
파일 의 행을 주석 해제하십시오.
retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry