这是我的剧本(为简洁起见,对其进行了很大的修饰):
- name: "__PERFORMING_PREFLIGHT_CHECKS__"
hosts: all
become: true
gather_facts: true
run_once: true
roles:
- { role: roles/inventory-check, delegate_to: localhost, delegate_facts: true }
- { role: roles/registering-facts }
- { role: roles/verify-certificates, when: ssl.enable | d(false) | bool == true }
- name: "__DEPLOYING_CLUSTER_CERTIFICATES__"
hosts: all
gather_facts: true
become: true
roles:
- { role: roles/cluster-certificates, when: ssl.enable | d(false) | bool == true }
当ssl.enable == false时,它不执行任务,但是我在输出中看到一个部分:
PLAY [__DEPLOYING_CLUSTER_CERTIFICATES__]
TASK [roles/cluster-certificates : Setting variable cluster_ssl_dir=/minIO/data/.ssl] ******************************************************************************************
Wednesday 06 May 2020 12:00:07 -0700 (0:00:00.051) 0:00:48.417 *********
TASK [roles/cluster-certificates : Creating cluster certificate directories '{{ cluster_ssl_dir }}'] ******************************************************************************************
Wednesday 06 May 2020 12:00:08 -0700 (0:00:00.130) 0:00:48.548 *********
TASK [roles/cluster-certificates : Pushing cluster certificates] ******************************************************************************************
Wednesday 06 May 2020 12:00:08 -0700 (0:00:00.129) 0:00:48.677 *********
有什么办法抑制这种情况吗?
如果有用的输出说“这被忽略,是因为等等”,那将是一回事,但是它并没有说太多。这令人困惑,并且使不熟悉您的自动化的人认为某些事情无法正常工作。
答案 0 :(得分:0)
不可能在剧本,角色或任务级别上删除跳过的任务。可以通过修改默认的回调插件来完成。
在ansible.cfg中添加以下内容:
display_skipped_hosts = False
在2.9.6之前和之后。请注意两个跳过的任务:
PLAY [test] **********************************************************************************************************************************************************************
TASK [include a role] ************************************************************************************************************************************************************
TASK [test_role : set_fact] ******************************************************************************************************************************************************
ok: [localhost]
TASK [test_role : stat] **********************************************************************************************************************************************************
skipping: [localhost]
TASK [test_role : debug] *********************************************************************************************************************************************************
skipping: [localhost]
PLAY RECAP ***********************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=2 rescued=0 ignored=0
之后。摘要中仍然提到了跳过的任务:
PLAY [test] **********************************************************************************************************************************************************************
TASK [test_role : set_fact] ******************************************************************************************************************************************************
ok: [localhost]
PLAY RECAP ***********************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=2 rescued=0 ignored=0
您可能还会遇到其他选项,例如stdout_callback = skippy
。这些已过时。