From ebc1c08d1f1315989485e62c8623f26852e4f5b9 Mon Sep 17 00:00:00 2001 From: rabi Date: Tue, 24 Sep 2024 14:18:43 +0530 Subject: [PATCH] Refine ansible_facts collection Signed-off-by: rabi --- molecule/common/test_deps/tasks/main.yml | 5 ++++- roles/edpm_bootstrap/tasks/packages.yml | 6 +++++- roles/edpm_frr/tasks/configure.yml | 6 +++++- roles/edpm_frr/tasks/install.yml | 2 +- roles/edpm_logrotate_crond/tasks/install.yml | 2 +- roles/edpm_network_config/tasks/network_config.yml | 2 +- roles/edpm_neutron_metadata/tasks/install.yml | 2 +- roles/edpm_neutron_ovn/tasks/configure.yml | 6 +++++- roles/edpm_nodes_validation/tasks/main.yml | 1 + roles/edpm_ovn/tasks/install.yml | 2 +- roles/edpm_ovn_bgp_agent/tasks/install_ovn.yml | 2 +- roles/edpm_podman/tasks/install.yml | 2 +- roles/edpm_ssh_known_hosts/tasks/main.yml | 4 ++++ 13 files changed, 31 insertions(+), 11 deletions(-) diff --git a/molecule/common/test_deps/tasks/main.yml b/molecule/common/test_deps/tasks/main.yml index 453f656a5..485f1f94a 100644 --- a/molecule/common/test_deps/tasks/main.yml +++ b/molecule/common/test_deps/tasks/main.yml @@ -16,7 +16,10 @@ - name: Gather facts if they don't exist ansible.builtin.setup: - gather_subset: min + gather_subset: + - "!all" + - "!min" + - "distribution" when: "'distribution' not in ansible_facts" tags: - always diff --git a/roles/edpm_bootstrap/tasks/packages.yml b/roles/edpm_bootstrap/tasks/packages.yml index 1fb62ee2d..836659c82 100644 --- a/roles/edpm_bootstrap/tasks/packages.yml +++ b/roles/edpm_bootstrap/tasks/packages.yml @@ -16,11 +16,15 @@ - name: Gather facts if they don't exist ansible.builtin.setup: - gather_subset: min + gather_subset: + - "!all" + - "!min" + - "distribution" when: "'distribution' not in ansible_facts" tags: - always + # Currently only supported on RHEL as edpm does not have a version package - name: Install release version package diff --git a/roles/edpm_frr/tasks/configure.yml b/roles/edpm_frr/tasks/configure.yml index c767b3bb8..820839697 100644 --- a/roles/edpm_frr/tasks/configure.yml +++ b/roles/edpm_frr/tasks/configure.yml @@ -39,8 +39,12 @@ Please check value of Ansible variable edpm_frr_bgp_uplinks. - name: Gather facts if they don't exist + when: "'system' not in ansible_facts" ansible.builtin.setup: - gather_subset: min + gather_subset: + - "!all" + - "!min" + - "system" - name: Configure FRR ansible.builtin.template: diff --git a/roles/edpm_frr/tasks/install.yml b/roles/edpm_frr/tasks/install.yml index 3257921ad..f5d73a4f9 100644 --- a/roles/edpm_frr/tasks/install.yml +++ b/roles/edpm_frr/tasks/install.yml @@ -38,7 +38,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_logrotate_crond/tasks/install.yml b/roles/edpm_logrotate_crond/tasks/install.yml index 76abae0a7..3780287f4 100644 --- a/roles/edpm_logrotate_crond/tasks/install.yml +++ b/roles/edpm_logrotate_crond/tasks/install.yml @@ -27,7 +27,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_network_config/tasks/network_config.yml b/roles/edpm_network_config/tasks/network_config.yml index 1f3f4bb64..db8913d7a 100644 --- a/roles/edpm_network_config/tasks/network_config.yml +++ b/roles/edpm_network_config/tasks/network_config.yml @@ -16,7 +16,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_neutron_metadata/tasks/install.yml b/roles/edpm_neutron_metadata/tasks/install.yml index 0743cc1a6..2dcd67d94 100644 --- a/roles/edpm_neutron_metadata/tasks/install.yml +++ b/roles/edpm_neutron_metadata/tasks/install.yml @@ -32,7 +32,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_neutron_ovn/tasks/configure.yml b/roles/edpm_neutron_ovn/tasks/configure.yml index 8ab0eef70..c7d1ec3d1 100644 --- a/roles/edpm_neutron_ovn/tasks/configure.yml +++ b/roles/edpm_neutron_ovn/tasks/configure.yml @@ -27,8 +27,12 @@ when: cacert_bundle_exists.stat.exists - name: Gather facts if they don't exist + when: "'system' not in ansible_facts" ansible.builtin.setup: - gather_subset: min + gather_subset: + - "!all" + - "!min" + - "system" - name: Configure neutron configuration files block: diff --git a/roles/edpm_nodes_validation/tasks/main.yml b/roles/edpm_nodes_validation/tasks/main.yml index ff0b52c9d..7c6dd3b4b 100644 --- a/roles/edpm_nodes_validation/tasks/main.yml +++ b/roles/edpm_nodes_validation/tasks/main.yml @@ -15,6 +15,7 @@ # under the License. - name: Collect default network fact + when: "'default_ipv4' not in ansible_facts" ansible.builtin.setup: gather_subset: - '!all' diff --git a/roles/edpm_ovn/tasks/install.yml b/roles/edpm_ovn/tasks/install.yml index 76534eed2..49bb92859 100644 --- a/roles/edpm_ovn/tasks/install.yml +++ b/roles/edpm_ovn/tasks/install.yml @@ -29,7 +29,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_ovn_bgp_agent/tasks/install_ovn.yml b/roles/edpm_ovn_bgp_agent/tasks/install_ovn.yml index 5742c71c6..2b533ab66 100644 --- a/roles/edpm_ovn_bgp_agent/tasks/install_ovn.yml +++ b/roles/edpm_ovn_bgp_agent/tasks/install_ovn.yml @@ -26,7 +26,7 @@ - name: Gather SELinux fact if needed when: - - ansible_facts.selinux is undefined + - "'selinux' not in ansible_facts" ansible.builtin.setup: gather_subset: - "!all" diff --git a/roles/edpm_podman/tasks/install.yml b/roles/edpm_podman/tasks/install.yml index fd6855109..8cb88e0cd 100644 --- a/roles/edpm_podman/tasks/install.yml +++ b/roles/edpm_podman/tasks/install.yml @@ -28,7 +28,7 @@ - name: Ensure we get the ansible interfaces facts when: - - ansible_facts['interfaces'] is undefined + - "'interfaces' not in ansible_facts" ansible.builtin.setup: gather_subset: - '!all' diff --git a/roles/edpm_ssh_known_hosts/tasks/main.yml b/roles/edpm_ssh_known_hosts/tasks/main.yml index 0d6890061..044dce573 100644 --- a/roles/edpm_ssh_known_hosts/tasks/main.yml +++ b/roles/edpm_ssh_known_hosts/tasks/main.yml @@ -47,6 +47,10 @@ - _ssh_known_hosts.stat.exists | bool - name: Gather facts if they don't exist + when: + - ("'ssh_host_key_rsa_public' not in ansible_facts") or + ("'ssh_host_key_ed25519_public' not in ansible_facts") or + ("'ssh_host_key_ecdsa_public' not in ansible_facts") ansible.builtin.setup: gather_subset: - "!all"