mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-02 01:58:12 -03:30
The fallback_ips tasks are essentially serializing the gathering of one
fact on all the hosts, which can have dramatic performance implications
on large clusters (several minutes).
This is essentially a reversal of 35f248dff0
Being able to run without refreshing the cache facts is not worth it.
We keep fallback_ip for now, simply changing the access to a normal
hostvars variable instead of a custom dictionnary.
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
---
|
|
- name: Set facts variables
|
|
tags:
|
|
- always
|
|
block:
|
|
- name: Gather ansible_default_ipv4
|
|
setup:
|
|
gather_subset: '!all,network'
|
|
filter: "ansible_default_ipv4"
|
|
when: ansible_default_ipv4 is not defined
|
|
ignore_unreachable: true
|
|
# Set 127.0.0.1 as fallback IP if we do not have host facts for host
|
|
# ansible_default_ipv4 isn't what you think.
|
|
# https://medium.com/opsops/ansible-default-ipv4-is-not-what-you-think-edb8ab154b10
|
|
# TODO: discard this and update all the location relying on it in "looping on hostvars" templates
|
|
- name: Set fallback_ip
|
|
set_fact:
|
|
fallback_ip: "{{ ansible_default_ipv4.address | d('127.0.0.1') }}"
|
|
when: fallback_ip is not defined
|
|
|
|
- name: Set no_proxy
|
|
import_tasks: no_proxy.yml
|
|
when:
|
|
- http_proxy is defined or https_proxy is defined
|
|
- no_proxy is not defined
|
|
|
|
# TODO: Clean this task up when we drop backward compatibility support for `etcd_kubeadm_enabled`
|
|
- name: Set `etcd_deployment_type` to "kubeadm" if `etcd_kubeadm_enabled` is true
|
|
set_fact:
|
|
etcd_deployment_type: kubeadm
|
|
when:
|
|
- etcd_kubeadm_enabled is defined and etcd_kubeadm_enabled
|
|
tags:
|
|
- always
|