Jak powstrzymać Ansible przed tworzeniem plików .retry w katalogu domowym?

152

Gdy Ansible ma problemy z uruchomieniem odtwarzania na hoście, wypisze nazwę hosta do pliku w katalogu domowym użytkownika, kończącego się na „.retry”. Są one często nieużywane i po prostu powodują bałagan, czy istnieje sposób, aby je wyłączyć lub umieścić w innym katalogu?

Asfand Qazi
źródło

Odpowiedzi:

192

Istnieją dwie opcje, które możesz dodać do sekcji [defaults] pliku ansible.cfg, które będą kontrolować, czy pliki .retry są tworzone i gdzie są tworzone.

[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)
Asfand Qazi
źródło
8
Zauważ, że to działa tylko dla Ansible 1.9 i nowszych: github.com/ansible/ansible/commit/ ...
hudolejev
4
Pamiętaj, że pliki ponownych prób nie są tworzone domyślnie, począwszy od Ansible 2.8: docs.ansible.com/ansible/latest/porting_guides/ ...
Slava Semushin,
62

Możesz wyłączyć tworzenie pliku ponownej próby w programie ansible, modyfikując plik konfiguracyjny ansible.

[defaults]
...
retry_files_enabled = False

Ansible szuka pliku konfiguracyjnego w następujący sposób

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

Pamiętaj, aby dodać zmiany do odpowiedniego pliku konfiguracyjnego.

AnshBikram
źródło
9

Możesz również wyłączyć pliki ponawiania, ustawiając zmienną środowiskową ANSIBLE_RETRY_FILES_ENABLEDna 0:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...
Tomas Tomecek
źródło
1

Co zabawne, miałem podobny problem z plikiem ponownej próby, ale ponieważ pracuję z całym zespołem, wolałbym nie dotykać konfiguracji.

Zamiast tego postanowiłem usunąć plik (i) ponawiania w ramach przebiegu z poziomu podręcznika:

#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"
Lefty G Balogh
źródło
Myślę, że szczególnie w zespole używanie zwykłej i rozsądnej konfiguracji jest znacznie lepsze niż obchodzenie się z nią w ten sposób, co jest również trochę konfiguracją, ale mniej oczywistą.
Axel Beckert
1
Masz rację. To zdecydowanie nie na czasy, kiedy możesz to zrobić poprawnie. Wyrosło z desperacji, kiedy masz 27 innych osób w zespole w 7 różnych zespołach pod 10 różnymi menedżerami ...
Lefty G Balogh
-1

Odkomentuj wiersze w domyślnym ansible.cfgpliku do

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry
Sarangz
źródło
To tylko przenosi bałagan w inne miejsce.
Axel Beckert