¿Cómo evita que Ansible cree archivos .retry en el directorio de inicio?


152

Cuando Ansible tiene problemas para ejecutar juegos contra un host, mostrará el nombre del host en un archivo en el directorio de inicio del usuario que termina en '.retry'. Estos a menudo no se usan y solo causan desorden, ¿hay alguna forma de desactivarlos o colocarlos en un directorio diferente?

Respuestas:


192

Hay dos opciones que puede agregar a la sección [valores predeterminados] del archivo ansible.cfg que controlará si se crean o no archivos .retry y dónde se crean.

[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
Tenga en cuenta que esto solo funciona para Ansible 1.9 y versiones
hudolejev

44
Tenga en cuenta que los archivos de reintento no se crean de manera predeterminada a partir de Ansible 2.8: docs.ansible.com/ansible/latest/porting_guides/…
Slava Semushin

62

Puede deshabilitar la creación del archivo de reintento en ansible modificando el archivo de configuración ansible.

[defaults]
...
retry_files_enabled = False

Ansible busca el archivo de configuración de la siguiente manera

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

Asegúrese de agregar sus cambios al archivo de configuración apropiado.


9

También puede desactivar los archivos de reintento configurando una variable de entorno ANSIBLE_RETRY_FILES_ENABLEDpara 0:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

1

Curiosamente, tuve un problema similar con el archivo de reintento, pero como estoy trabajando con todo un equipo, prefiero no tocar la configuración.

Lo que decidí hacer en su lugar fue eliminar los archivos de reintento como parte de la ejecución desde el libro de jugadas:

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

Creo que especialmente en un equipo, usar una configuración común y sana es mucho mejor que trabajar de esta manera, lo que también es un poco config, pero menos obvio.
Axel Beckert

1
Tienes razón. Esto definitivamente no es para los momentos en que puedes hacerlo correctamente. Surgió de la desesperación cuando tienes otras 27 personas en el equipo en 7 equipos diferentes bajo 10 gerentes diferentes ...
Lefty G Balogh hace

-1

Descomente las líneas en el ansible.cfgarchivo predeterminado para

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry

Esto solo mueve el desorden a otra parte.
Axel Beckert
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.