你如何阻止Ansible在主目录中创建.retry文件?

时间:2015-07-09 13:25:43

标签: ansible ansible-playbook devops

当Ansible在对主机运行播放时遇到问题时,它会将主机名输出到用户主目录中以'.retry'结尾的文件中。这些通常不会被使用,只会造成混乱,是否有办法将它们关闭或放在不同的目录中?

5 个答案:

答案 0 :(得分:172)

有两个选项可以添加到ansible.cfg文件的[defaults]部分,该部分将控制是否创建.retry文件以及它们的创建位置。

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

答案 1 :(得分:53)

您可以通过修改ansible配置文件来禁用在ansible中创建重试文件。

[defaults]
...
retry_files_enabled = False

Ansible按以下方式查找配置文件

  1. ./ ansible.cfg
  2. 〜/ .ansible.cfg
  3. /etc/ansible/ansible.cfg
  4. 确保将更改添加到相应的配置文件中。

答案 2 :(得分:3)

您还可以通过将环境变量ANSIBLE_RETRY_FILES_ENABLED设置为0来关闭重试文件:

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

答案 3 :(得分:2)

很有趣,我的重试文件也有类似的问题,但是当我与整个团队一起工作时,我宁愿不接触配置。

我决定要做的是从剧本中删除重试文件,作为运行的一部分:

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

答案 4 :(得分:0)

取消注释默认ansible.cfg文件中的行

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry