Limit nodes in gather ansible_default_ipv4 (#11370)

Signed-off-by: tu1h <lihai.tu@daocloud.io>
pull/11396/head
Lihai Tu 2024-07-26 10:17:48 +08:00 committed by GitHub
parent 8022eddb55
commit 2d194af85e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 3 deletions

View File

@ -3,14 +3,14 @@
# ansible_default_ipv4 isn't what you think. # ansible_default_ipv4 isn't what you think.
# Thanks https://medium.com/opsops/ansible-default-ipv4-is-not-what-you-think-edb8ab154b10 # Thanks https://medium.com/opsops/ansible-default-ipv4-is-not-what-you-think-edb8ab154b10
- name: Gather ansible_default_ipv4 from all hosts - name: Gather ansible_default_ipv4 from all hosts or specific hosts
setup: setup:
gather_subset: '!all,network' gather_subset: '!all,network'
filter: "ansible_default_ipv4" filter: "ansible_default_ipv4"
delegate_to: "{{ item }}" delegate_to: "{{ item }}"
delegate_facts: yes delegate_facts: yes
when: hostvars[item].ansible_default_ipv4 is not defined when: hostvars[item].ansible_default_ipv4 is not defined
loop: "{{ (groups['k8s_cluster'] | default([]) + groups['etcd'] | default([]) + groups['calico_rr'] | default([])) | unique }}" loop: "{{ (ansible_play_hosts_all + [groups['kube_control_plane'][0]]) | unique if ansible_limit is defined else (groups['k8s_cluster'] | default([]) + groups['etcd'] | default([]) + groups['calico_rr'] | default([])) | unique }}"
run_once: yes run_once: yes
ignore_unreachable: true ignore_unreachable: true
tags: always tags: always
@ -19,7 +19,8 @@
set_fact: set_fact:
fallback_ips_base: | fallback_ips_base: |
--- ---
{% for item in (groups['k8s_cluster'] | default([]) + groups['etcd'] | default([]) + groups['calico_rr'] | default([])) | unique %} {% set search_hosts = (ansible_play_hosts_all + [groups['kube_control_plane'][0]]) | unique if ansible_limit is defined else (groups['k8s_cluster'] | default([]) + groups['etcd'] | default([]) + groups['calico_rr'] | default([])) | unique %}
{% for item in search_hosts %}
{% set found = hostvars[item].get('ansible_default_ipv4') %} {% set found = hostvars[item].get('ansible_default_ipv4') %}
{{ item }}: "{{ found.get('address', '127.0.0.1') }}" {{ item }}: "{{ found.get('address', '127.0.0.1') }}"
{% endfor %} {% endfor %}