Merge "Reduce fact gathering" into stable/train

This commit is contained in:
Zuul 2021-03-02 22:50:43 +00:00 committed by Gerrit Code Review
commit 35e7a6fae7
4 changed files with 35 additions and 8 deletions

View File

@ -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 }}"

View File

@ -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:

View File

@ -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

View File

@ -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 }}"