fix(system_check): retry transient vcenter api errors in the preflight lookups
This commit is contained in:
@@ -50,6 +50,9 @@
|
||||
esxi_hostname: "{{ hypervisor_cfg.node }}"
|
||||
register: system_check_esxi
|
||||
delegate_facts: true
|
||||
until: system_check_esxi.ansible_facts is defined
|
||||
retries: 3
|
||||
delay: 10
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
no_log: true
|
||||
@@ -84,6 +87,9 @@
|
||||
community.vmware.vmware_datastore_info:
|
||||
cluster: "{{ hypervisor_cfg.cluster }}"
|
||||
register: system_check_cluster
|
||||
until: system_check_cluster.datastores is defined
|
||||
retries: 3
|
||||
delay: 10
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
no_log: true
|
||||
@@ -132,6 +138,10 @@
|
||||
path: "{{ item.path }}"
|
||||
state: file
|
||||
register: system_check_media_files
|
||||
# A missing file fails with status 404; a dropped vCenter connection fails with status None.
|
||||
until: system_check_media_files is not failed or system_check_media_files.status is not none
|
||||
retries: 3
|
||||
delay: 10
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
loop: "{{ system_check_datastores_needed | rejectattr('source', 'equalto', 'hypervisor.storage') | list }}"
|
||||
|
||||
@@ -82,6 +82,11 @@
|
||||
name: "{{ hostname }}"
|
||||
folder: "{{ system_cfg.path if system_cfg.path | length > 0 else omit }}"
|
||||
register: system_check_vmware_check_result
|
||||
until: >-
|
||||
not system_check_vmware_check_result.failed
|
||||
or (system_check_vmware_check_result.msg is search('non-existing VM'))
|
||||
retries: 3
|
||||
delay: 10
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
no_log: true
|
||||
|
||||
Reference in New Issue
Block a user