Come si impedisce ad Ansible di creare file .retry nella home directory?


152

Quando Ansible ha problemi nell'esecuzione di riproduzioni su un host, genererà il nome dell'host in un file nella home directory dell'utente che termina con '.retry'. Questi spesso non vengono utilizzati e causano solo disordine, c'è un modo per spegnerli o metterli in una directory diversa?

Risposte:


192

Esistono due opzioni che è possibile aggiungere alla sezione [valori predefiniti] del file ansible.cfg che controllerà se i file .retry vengono creati o meno e dove vengono creati.

[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
Nota che questo funziona solo per Ansible 1.9 e
versioni

4
Si noti che i file di tentativi non vengono creati per impostazione predefinita a partire da Ansible 2.8: docs.ansible.com/ansible/latest/porting_guides/…
Slava Semushin

62

È possibile disabilitare la creazione del file di tentativo in ansible modificando il file di configurazione ansible.

[defaults]
...
retry_files_enabled = False

Ansible cerca il file di configurazione come segue

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

Assicurati di aggiungere le modifiche al file di configurazione appropriato.


9

È inoltre possibile disattivare i file di tentativi impostando una variabile di ambiente ANSIBLE_RETRY_FILES_ENABLEDsu 0:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

1

Abbastanza divertente, ho avuto un problema simile con il file di tentativi, ma mentre sto lavorando con un intero team, preferirei non toccare la configurazione.

Quello che ho deciso di fare invece è stato rimuovere i file di tentativi come parte della corsa dall'interno del 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"

Penso soprattutto in una squadra, usare una configurazione comune e sana è molto meglio che aggirarla in questo modo, che è anche un po 'config, ma meno ovvio.
Axel Beckert,

1
Hai ragione. Questo non è sicuramente per i momenti in cui puoi farlo correttamente. È cresciuto per la disperazione quando hai altre 27 persone nella squadra in 7 squadre diverse sotto 10 manager diversi ...
Lefty G Balogh

-1

Rimuovere il commento dalle righe nel ansible.cfgfile predefinito

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry

Questo sposta il disordine solo altrove.
Axel Beckert,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.