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


152

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

Answers:


192

您可以将两个选项添加到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)

8
请注意,这仅适用于Ansible 1.9和更高版本:github.com/ansible/ansible/commit/...
hudolejev

4
请注意,重试文件默认情况下,从Ansible 2.8开始不创建:docs.ansible.com/ansible/latest/porting_guides/...
斯拉瓦Semushin

62

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

[defaults]
...
retry_files_enabled = False

Ansible查找配置文件如下

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

确保将更改添加到适当的配置文件。



1

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

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

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

我认为,特别是在团队中,使用通用且合理的配置比以这种方式解决它要好得多,这也是一种配置,但不太明显。
Axel Beckert

-1

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

retry_files_enabled = True
retry_files_save_path = ~/.ansible-retry

这只会将混乱移到其他地方。
Axel Beckert
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.