Ansible이 홈 디렉토리에 .retry 파일을 작성하지 못하게하려면 어떻게합니까?


152

Ansible에서 호스트에 대한 재생을 실행하는 데 문제가 있으면 호스트 이름을 '.retry'로 끝나는 사용자의 홈 디렉토리에있는 파일로 출력합니다. 이것들은 종종 사용되지 않고 혼란을 유발합니다. 끄거나 다른 디렉토리에 넣을 수 있습니까?

답변:


192

.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)

8
이것은 Ansible 1.9 이상에서만 작동합니다. github.com/ansible/ansible/commit/…
hudolejev

4
재시도 파일은 Ansible 2.8부터 기본적으로 생성되지 않습니다 : docs.ansible.com/ansible/latest/porting_guides/…
Slava Semushin

62

사용 가능한 구성 파일을 수정하여 사용 가능한 파일에서 재시도 파일 작성을 사용하지 않을 수 있습니다.

[defaults]
...
retry_files_enabled = False

Ansible은 다음과 같이 구성 파일을 찾습니다.

  1. ./ansible.cfg
  2. ~ / .ansible.cfg
  3. /etc/ansible/ansible.cfg

해당 구성 파일에 변경 사항을 추가하십시오.


9

환경 변수 ANSIBLE_RETRY_FILES_ENABLED0다음과 같이 설정하여 재시도 파일을 끌 수도 있습니다 .

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

1

재밌는 점은 재시도 파일과 비슷한 문제가 있었지만 전체 팀과 함께 작업하면서 구성을 건드리지 않는 것입니다.

내가 대신하기로 한 것은 플레이 북에서 실행의 일부로 재시도 파일을 제거하는 것이 었습니다.

#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"

나는 특히 팀에서 일반적인 구성을 사용하는 것이이 방법을 해결하는 것보다 훨씬 낫다고 생각합니다.이 구성은 다소 구성이지만 덜 분명합니다.
Axel Beckert

1
네 말이 맞아 이것은 당신이 제대로 할 수있는 시간이 아닙니다. 10 명의 다른 관리자 아래 7 개의 다른 팀에 27 명의 다른 직원이있을 때 절망에서 자랐습니다 ...
Lefty G Balogh

-1

기본 ansible.cfg파일 의 행을 주석 해제하십시오.

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry

이것은 혼란을 다른 곳으로 만 움직입니다.
Axel Beckert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.