diff --git a/tripleo_ansible/roles/tripleo-kernel/tasks/reboot.yaml b/tripleo_ansible/roles/tripleo-kernel/tasks/reboot.yaml index 26f6f22ba..19cb8820e 100644 --- a/tripleo_ansible/roles/tripleo-kernel/tasks/reboot.yaml +++ b/tripleo_ansible/roles/tripleo-kernel/tasks/reboot.yaml @@ -27,12 +27,25 @@ # BOOTPROTO of all interface config files (except provisioning), will be set to "none" to avoid reboot failing to acquire IP on other networks - name: Apply workaround for node reboot block: - - name: Find the ifcg files + - name: Find the ifcfg files find: paths: /etc/sysconfig/network-scripts/ patterns: ifcfg-* register: ifcfg_files - + # NOTE(mwhahaha): On computes collecting all the network facts is a huge + # performance issue. So let's only get the ansible facts for the ifcfg + # files which will avoid all the tap interfaces. This takes a while but + # results in less memory utilization for the rest of the deployment. + - name: Get ifcfg facts + setup: + gather_subset: + - '!all' + - '!min' + - network + filter: "{{ 'ansible_' + item.path | regex_replace('(^.*ifcfg-)(.*)', '\\2') | replace('-', '_') }}" + loop: "{{ ifcfg_files.files |flatten(levels=1) }}" + loop_control: + label: "{{ item.path | regex_replace('(^.*ifcfg-)(.*)', '\\2') | replace('-', '_') }}" - name: Replace BOOTPROTO to none for interfaces which does not have IP replace: dest: "{{ item.path }}" diff --git a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml index fb7e6c774..c3caebc33 100644 --- a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml +++ b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml @@ -26,6 +26,16 @@ name: "{{ tripleo_podman_packages }}" state: latest + - name: Ensure we get the ansible_interfaces fact + when: + - ansible_interfaces is undefined + setup: + gather_subset: + - '!all' + - '!min' + - 'network' + filter: 'ansible_interfaces' + - name: Delete legacy cni0 interface (podman < 1.6) command: ip link delete cni0 when: diff --git a/tripleo_ansible/roles/tripleo_lvmfilter/tasks/main.yml b/tripleo_ansible/roles/tripleo_lvmfilter/tasks/main.yml index f0b8d45cf..662f9baed 100644 --- a/tripleo_ansible/roles/tripleo_lvmfilter/tasks/main.yml +++ b/tripleo_ansible/roles/tripleo_lvmfilter/tasks/main.yml @@ -15,12 +15,15 @@ # under the License. -- name: gather package facts - package_facts: - manager: auto +- name: Check if lvm2 is installed + shell: rpm -q lvm2 + become: true + failed_when: false + register: lvm_pkg_check - name: gather allowed block devices list when: - - "'lvm2' in ansible_facts.packages" + - lvm_pkg_check.rc is defined + - lvm_pkg_check.rc == 0 - tripleo_tripleo_lvmfilter_enabled or tripleo_tripleo_lvmfilter_dry_run block: - name: collect in-use lvm2 devices list diff --git a/tripleo_ansible/roles/tripleo_nodes_validation/tasks/main.yml b/tripleo_ansible/roles/tripleo_nodes_validation/tasks/main.yml index 306fcac95..c04c83203 100644 --- a/tripleo_ansible/roles/tripleo_nodes_validation/tasks/main.yml +++ b/tripleo_ansible/roles/tripleo_nodes_validation/tasks/main.yml @@ -14,12 +14,13 @@ # License for the specific language governing permissions and limitations # under the License. -- name: Collect Network Facts +- name: Collect default network fact setup: gather_subset: - '!all' - - '!any' + - '!min' - network + filter: 'ansible_default_ipv4' - name: Check Default IPv4 Gateway availability command: "ping -w 10 -c 1 {{ ansible_facts.default_ipv4.gateway }}"