diff --git a/roles/validations/tasks/edpm/hotfix.yml b/roles/validations/tasks/edpm/hotfix.yml index 750827c68e..da07e33372 100644 --- a/roles/validations/tasks/edpm/hotfix.yml +++ b/roles/validations/tasks/edpm/hotfix.yml @@ -89,3 +89,18 @@ ansible.builtin.assert: that: - cifmw_validations_hotfixed_edpm_nova_compute_image == post_change_nova_compute_image.stdout + +- name: Wait for all nova-compute services to be up after hotfix rollout + cifmw.general.ci_script: + output_dir: "{{ cifmw_validations_basedir }}/artifacts" + script: >- + oc -n {{ cifmw_validations_namespace }} rsh openstackclient + openstack compute service list --service nova-compute -f value -c State | + grep -v '^ *$' | sort -u + register: _hotfix_nova_states + until: + - _hotfix_nova_states.rc == 0 + - "'down' not in _hotfix_nova_states.stdout" + - "'up' in _hotfix_nova_states.stdout" + retries: 20 + delay: 30 diff --git a/roles/validations/tasks/edpm/scaledown.yml b/roles/validations/tasks/edpm/scaledown.yml index 35b08a448a..d2da95052e 100644 --- a/roles/validations/tasks/edpm/scaledown.yml +++ b/roles/validations/tasks/edpm/scaledown.yml @@ -22,7 +22,11 @@ script: >- oc -n {{ cifmw_validations_namespace }} rsh openstackclient openstack hypervisor list register: hypervisors_before_scale_down - failed_when: '"{{ cifmw_validations_edpm_scale_down_hostname }}" not in hypervisors_before_scale_down.stdout' + until: + - hypervisors_before_scale_down.rc == 0 + - cifmw_validations_edpm_scale_down_hostname in hypervisors_before_scale_down.stdout + retries: 15 + delay: 20 - name: Disable nova-compute for node being removed cifmw.general.ci_script: