From 25e4fa17a818d4455eeb3780584297a0a4e07e61 Mon Sep 17 00:00:00 2001 From: Max Gautier Date: Fri, 2 May 2025 15:30:44 +0200 Subject: [PATCH] Split kubespray-defaults (-> `network_facts`) kubespray-defaults currently does two things: - records a number of default variable values (in particular values used in several places) - gather and compose some complex network facts (in particular, `fallback_ip` and `no_proxy` There is no actual reason to couple those two things, and it makes using defaults more difficult (because computing the network facts is somewhat expensive, we don't want to do it willy-nilly) Split the two and adjust import paths as needed. --- playbooks/facts.yml | 4 +++- roles/bootstrap-os/meta/main.yml | 3 +++ .../container-engine/containerd/molecule/default/prepare.yml | 1 + roles/container-engine/cri-o/molecule/default/prepare.yml | 1 + roles/network_facts/meta/main.yml | 3 +++ roles/{kubespray-defaults => network_facts}/tasks/main.yaml | 0 .../{kubespray-defaults => network_facts}/tasks/no_proxy.yml | 0 roles/validate_inventory/meta/main.yml | 3 +++ 8 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 roles/bootstrap-os/meta/main.yml create mode 100644 roles/network_facts/meta/main.yml rename roles/{kubespray-defaults => network_facts}/tasks/main.yaml (100%) rename roles/{kubespray-defaults => network_facts}/tasks/no_proxy.yml (100%) create mode 100644 roles/validate_inventory/meta/main.yml diff --git a/playbooks/facts.yml b/playbooks/facts.yml index c43b058b8..ebf74054b 100644 --- a/playbooks/facts.yml +++ b/playbooks/facts.yml @@ -7,13 +7,15 @@ environment: "{{ proxy_disable_env }}" roles: - { role: bootstrap-os, tags: bootstrap-os} - - { role: kubespray-defaults } - name: Gather facts hosts: k8s_cluster:etcd:calico_rr gather_facts: false tags: always tasks: + - name: Gather and compute network facts + import_role: + name: network_facts - name: Gather minimal facts setup: gather_subset: '!all' diff --git a/roles/bootstrap-os/meta/main.yml b/roles/bootstrap-os/meta/main.yml new file mode 100644 index 000000000..a877a820e --- /dev/null +++ b/roles/bootstrap-os/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: kubespray-defaults diff --git a/roles/container-engine/containerd/molecule/default/prepare.yml b/roles/container-engine/containerd/molecule/default/prepare.yml index a3d09ad80..d70452edf 100644 --- a/roles/container-engine/containerd/molecule/default/prepare.yml +++ b/roles/container-engine/containerd/molecule/default/prepare.yml @@ -8,6 +8,7 @@ roles: - role: kubespray-defaults - role: bootstrap-os + - role: network_facts - role: kubernetes/preinstall - role: adduser user: "{{ addusers.kube }}" diff --git a/roles/container-engine/cri-o/molecule/default/prepare.yml b/roles/container-engine/cri-o/molecule/default/prepare.yml index 55ad5174d..8b11dff53 100644 --- a/roles/container-engine/cri-o/molecule/default/prepare.yml +++ b/roles/container-engine/cri-o/molecule/default/prepare.yml @@ -8,6 +8,7 @@ roles: - role: kubespray-defaults - role: bootstrap-os + - role: network_facts - role: kubernetes/preinstall - role: adduser user: "{{ addusers.kube }}" diff --git a/roles/network_facts/meta/main.yml b/roles/network_facts/meta/main.yml new file mode 100644 index 000000000..a877a820e --- /dev/null +++ b/roles/network_facts/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: kubespray-defaults diff --git a/roles/kubespray-defaults/tasks/main.yaml b/roles/network_facts/tasks/main.yaml similarity index 100% rename from roles/kubespray-defaults/tasks/main.yaml rename to roles/network_facts/tasks/main.yaml diff --git a/roles/kubespray-defaults/tasks/no_proxy.yml b/roles/network_facts/tasks/no_proxy.yml similarity index 100% rename from roles/kubespray-defaults/tasks/no_proxy.yml rename to roles/network_facts/tasks/no_proxy.yml diff --git a/roles/validate_inventory/meta/main.yml b/roles/validate_inventory/meta/main.yml new file mode 100644 index 000000000..a877a820e --- /dev/null +++ b/roles/validate_inventory/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: kubespray-defaults