Use conditions with Host prep block tasks
Ansible free/tripleo_free strategies do not work well for blocks with conditions, containing include_tasks. Conditions ( i.e when: ) at times get mixed up resulting in wrong condition being evaluated. As blocks are only logical entities (conditions evaluated per task), we shouldn't have any problem moving the conditions to tasks in Host prep block to avoid the issue. This fixes intermittent chrony failures in host_prep_tasks. Note: This is a workaround as we've to backport it all the way till train and has to be fixed in core ansible[1] in the future. [1] https://github.com/ansible/ansible/issues/60512 Resolves: rhbz#2084075 Resolves: rhbz#2111237 Change-Id: Id9f481f3fe75169bd4c3d721e23e847a1b6c8c43
This commit is contained in:
parent
83e5801851
commit
e728e8cc8e
|
@ -698,15 +698,18 @@ outputs:
|
|||
{% endraw %}
|
||||
{%- for role in roles %}
|
||||
- name: {{role.name}} Host prep block
|
||||
when:
|
||||
- tripleo_role_name == '{{role.name}}'
|
||||
block:
|
||||
- name: {{role.name}} Host prep steps
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
debug:
|
||||
msg: Use --start-at-task '{{role.name}} Host prep steps' to resume from this task
|
||||
- include_tasks: {{role.name}}/host_prep_tasks.yaml
|
||||
when:
|
||||
- tripleo_role_name == '{{role.name}}'
|
||||
- name: {{role.name}} Host prep tasks
|
||||
include_tasks: {{role.name}}/host_prep_tasks.yaml
|
||||
when:
|
||||
- tripleo_role_name == '{{role.name}}'
|
||||
{%- endfor %}
|
||||
tags:
|
||||
- overcloud
|
||||
|
|
Loading…
Reference in New Issue