diff --git a/roles/edpm_deploy_baremetal/tasks/main.yml b/roles/edpm_deploy_baremetal/tasks/main.yml index a8c8dac4f..b1b306258 100644 --- a/roles/edpm_deploy_baremetal/tasks/main.yml +++ b/roles/edpm_deploy_baremetal/tasks/main.yml @@ -264,29 +264,42 @@ name: openstack-edpm-ipam-provisionserver namespace: "{{ cifmw_install_yamls_defaults['NAMESPACE'] }}" register: cifmw_edpm_deploy_baremetal_provisionserver - failed_when: cifmw_edpm_deploy_baremetal_provisionserver.resources | length == 0 + until: >- + cifmw_edpm_deploy_baremetal_provisionserver.resources | length > 0 + and ( + cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.get('localImageUrl', '') + | trim | length + ) > 0 + retries: "{{ cifmw_edpm_deploy_baremetal_wait_provisionserver_retries }}" + delay: 10 changed_when: false - - name: Set OpenStack Provision Server local image checksum URL fallback + - name: Set OpenStack Provision Server local image URL facts ansible.builtin.set_fact: + cifmw_edpm_deploy_baremetal_provisionserver_local_image_url: >- + {{ + cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.get('localImageUrl', '') + }} cifmw_edpm_deploy_baremetal_provisionserver_local_image_checksum_url_effective: >- {{ - cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.localImageChecksumUrl + ( + cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.get('localImageChecksumUrl', '') + | trim + ) if ( - cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.localImageChecksumUrl - | default('', true) + cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.get('localImageChecksumUrl', '') | trim | length ) > 0 else ( - cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.localImageUrl - ~ '.sha256' - ) + cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.get('localImageUrl', '') + | trim + ) ~ '.sha256' }} - name: Verify OpenStack Provision Server image is reachable ansible.builtin.uri: - url: "{{ cifmw_edpm_deploy_baremetal_provisionserver.resources[0].status.localImageUrl }}" + url: "{{ cifmw_edpm_deploy_baremetal_provisionserver_local_image_url }}" method: HEAD status_code: 200 register: cifmw_edpm_deploy_baremetal_provisionserver_image_head