Bagaimana Anda berhenti. Mungkin membuat file .retry di direktori home?

152

Ketika Ansible memiliki masalah dalam menjalankan permainan melawan host, itu akan menampilkan nama host ke file di direktori home pengguna yang diakhiri dengan '.retry'. Ini sering tidak digunakan dan hanya menyebabkan kekacauan, apakah ada cara untuk mematikannya atau meletakkannya di direktori yang berbeda?

Asfand Qazi
sumber

Jawaban:

192

Ada dua opsi yang dapat Anda tambahkan ke bagian [default] dari file ansible.cfg yang akan mengontrol apakah file .retry dibuat atau tidak dan di mana file itu dibuat.

[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
sumber
8
Perhatikan bahwa ini hanya berfungsi untuk Ansible 1.9 dan yang lebih baru: github.com/ansible/ansible/commit/…
hudolejev
4
Perhatikan bahwa coba lagi file tidak dibuat secara default mulai dari An 2.8. Docs.ansible.com/ansible/latest/porting_guides/…
Slava Semushin
62

Anda dapat menonaktifkan pembuatan file coba lagi dengan cara memodifikasi file konfigurasi yang mungkin.

[defaults]
...
retry_files_enabled = False

Kemungkinan mencari file konfigurasi sebagai berikut

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

Pastikan untuk menambahkan perubahan Anda ke file konfigurasi yang sesuai.

AnshBikram
sumber
9

Anda juga dapat mematikan coba lagi file dengan mengatur variabel lingkungan ANSIBLE_RETRY_FILES_ENABLEDke 0:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...
Tomas Tomecek
sumber
1

Cukup lucu, saya punya masalah yang sama dengan file coba lagi, tetapi karena saya bekerja dengan seluruh tim, saya lebih suka tidak menyentuh konfigurasi.

Apa yang saya putuskan untuk lakukan adalah menghapus file coba lagi sebagai bagian dari proses dari dalam buku pedoman:

#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
sumber
Saya pikir terutama dalam sebuah tim, menggunakan konfigurasi umum dan waras jauh lebih baik daripada mengatasinya dengan cara ini, yang juga agak konfigurasi, tetapi kurang jelas.
Axel Beckert
1
Kamu benar. Ini jelas bukan saat Anda dapat melakukannya dengan benar. Itu tumbuh dari keputusasaan ketika Anda memiliki 27 orang lain di tim dalam 7 tim berbeda di bawah 10 manajer berbeda ...
Lefty G Balogh
-1

Batalkan komentar pada baris dalam ansible.cfgfile default

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry
Sarangz
sumber
Ini hanya memindahkan kekacauan di tempat lain.
Axel Beckert