使用播放标签运行的 Ansible 剧本收集事实,即使收集事实设置为'no'



以下ansible-playbook使用ansible-playbook playbook.yml --tags=rancher运行

- name: instal docker 
hosts: rancher-server
become: yes
gather_facts: yes
roles:
- role: some_galaxy_role
- name: install rancher 
hosts: rancher-server
become: yes
gather_facts: no
tasks:
- name: install rancher
debug:
tags:
- rancher

rancher标签仅选择install rancher播放并按预期运行。然而,第一个剧本install docker的事实收集仍然在运行并且需要时间。为什么?有没有办法避免它?

以下是运行剧本的输出:

PLAY [install docker] *********************************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************************************
ok: [rancher-server1]
ok: [rancher-server2]

PLAY [install rancher] 

您可以在播放级别上放置一个标签,这样整个Instal Docker播放都会被跳过。

给定:

- name: Install Docker
hosts: localhost
gather_facts: yes
tags:
- docker
tasks:
- debug:
- name: Install rancher
hosts: localhost
gather_facts: yes
tags:
- rancher
tasks:
- debug:

当使用--tags rancher运行时,这会产生:

PLAY [Install Docker] *********************************************************************************************
PLAY [Install rancher] ********************************************************************************************
TASK [Gathering Facts] ********************************************************************************************
ok: [localhost]
TASK [debug] ******************************************************************************************************
ok: [localhost] => 
msg: Hello world!
PLAY RECAP ********************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

另一方面,请注意,您不是被迫收集所有事实,您也可以收集子集,以加快播放速度。

例如,您可以只使用事实的极小子集:

- name: Install Docker
hosts: localhost
gather_subset:
- min
tasks:
- debug:

当然,这一切都取决于some_galaxy_role中需要什么来收集事实。

相关内容

  • 没有找到相关文章

最新更新