在ansible中,如何禁用单个任务的弃用警告?

在ansible中,如何禁用单个任务的弃用警告?,ansible,ansible-2.x,Ansible,Ansible 2.x,我的一项任务是在ansible 2.8中打印此警告 [弃用警告]:使用errors=“ignore”而不是skip。此功能将在2.12版中删除。可以通过在ansible.cfg中设置Deprecation\u warnings=False来禁用弃用警告。 是否有一种方法可以仅针对一个任务禁用警告,因为我不想通过ansible.cfg全局禁用 顺便说一句,任务看起来像这样 - name: Run platform specific tasks include_tasks: "{{ item }

我的一项任务是在ansible 2.8中打印此警告

[弃用警告]:使用errors=“ignore”而不是skip。此功能将在2.12版中删除。可以通过在ansible.cfg中设置Deprecation\u warnings=False来禁用弃用警告。

是否有一种方法可以仅针对一个任务禁用警告,因为我不想通过
ansible.cfg
全局禁用

顺便说一句,任务看起来像这样

- name: Run platform specific tasks
  include_tasks: "{{ item }}"
  with_first_found:
    - files:
        - "{{ ansible_distribution }}-{{ ansible_distribution_release }}.yml"
        - "{{ ansible_distribution }}.yml"
        - "{{ ansible_os_family }}.yml"
      #
      # The following ansible 2.8 warning is misleading and fixed later
      #     See https://github.com/ansible/ansible/pull/60161
      #
      # [DEPRECATION WARNING]: Use errors="ignore" instead of skip. This feature will be removed in version 2.12.
      skip: true
是的,例如:

 - shell: echo something
   args:
     warn: false

我发现没有办法避免这个特别的弃用警告,所以只记录了为什么会有它,记录如下:

取消弃用跳过,因为错误的替代方法不适用于首先找到的,并且仅使用查找

换句话说,这是ansible中的一个bug,修复程序合并到了
ansible:devel
。 希望很快就会发布,在那之前,我将忍受这种噪音


回答我自己的问题以防对其他人有所帮助。

我认为不可能对单个任务禁用警告。您可以创建一个特殊的
ansible no deprecation.cfg
config文件,并将其仅用于这个特殊的playbook.FWIW,将一个空文件
defaults.yml
放在列表的末尾,不需要跳过/忽略。@VladimirBotka我喜欢这个想法。。这是惯用的方法还是会显得奇怪?我只是ansible的新手,所以我对“好的风格”不太清楚。嗯,我认为这是惯用的。与角色中的empty
defaults/main.yml
相同。除此之外,
defaults.yml
也很有用。我认为这不适用于一般情况,也不适用于我在问题中引用的例子?