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

问题描述 投票:141回答:4

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

ansible ansible-playbook devops
4个回答
176
投票

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

56
投票

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

[defaults]
...
retry_files_enabled = False

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

  1. ./按死不了.cfg
  2. 〜/ .ansible.cfg
  3. /etc/按死不了/按死不了.cfg

确保将更改添加到相应的配置文件中。


5
投票

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

$ ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook ...

2
投票

有趣的是,我在重试文件中遇到了类似的问题,但是当我与整个团队合作时,我宁愿不触摸配置。

我决定做的是从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"
© www.soinside.com 2019 - 2024. All rights reserved.