How do you stop Ansible from creating .retry files in the home directory?

Ansible

Ansible Problem Overview


When Ansible has problems running plays against a host, it will output the name of the host into a file in the user's home directory ending in '.retry'. These are often not used and just cause clutter, is there a way to turn them off or put them in a different directory?

Ansible Solutions


Solution 1 - Ansible

There are two options that you can add to the [defaults] section of the ansible.cfg file that will control whether or not .retry files are created and where they are created.

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

Solution 2 - Ansible

You can disable creation of retry file in ansible by modifying ansible configuration file.

[defaults]
...
retry_files_enabled = False

Ansible looks for configuration file as follows

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

Make sure to add your changes to the appropriate config file.

Solution 3 - Ansible

You can also turn the retry files off by setting an environment variable ANSIBLE_RETRY_FILES_ENABLED to 0:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

Solution 4 - Ansible

Funny enough, I had a similar issue with the retry file, but as I am working with a whole team, I'd rather not touch the config.

What I decided to do instead was to remove the retry file(s) as part of the run from within the 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"

Solution 5 - Ansible

Uncomment the lines in the default ansible.cfg file to

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAsfand QaziView Question on Stackoverflow
Solution 1 - AnsibleAsfand QaziView Answer on Stackoverflow
Solution 2 - AnsibleAnshBikramView Answer on Stackoverflow
Solution 3 - AnsibleTomas TomecekView Answer on Stackoverflow
Solution 4 - AnsibleLefty G BaloghView Answer on Stackoverflow
Solution 5 - AnsibleSarangzView Answer on Stackoverflow