Switch deploy steps to tripleo_free
The tripleo_free strategy should allow the tasks to run freely for a given playbook that defines using the tripleo_free strategy. The defaul strategy is a linear one that will execute each task across all servers prior to moving to the next task. The tripleo_free strategy will execute the tasks on servers without syncryonizing the tasks within a given playbook. Because TripleO uses step concepts in our deployment, we already have the syncronization points in the main playbook. The outer playbook should be done linearly but the deployment steps themselves should be done freely. The tripleo_free playbook won't stop execution on all hosts if one host fails or becomes unreachable. It will however end the play exeuction if any error occurs on any host. This is similar to the deployment failures we used to have with Heat where a failure on any single node would stop the deployment at a given deployment step. A future improvement of this will be to add logic to handle a failure percentage on a given TripleO role to only stop the playbook if the failure percentage exceeds a defined amount. Currently any failure will stop a playbook but may not stop later tasks from executing on the rest of the hosts. We will likely need to implement a tripleo_linear strategy based on the upstream linear strategy to understand these failure percentages as well. NOTE: During the testing of this, we identified two issues with the free strategy in ansible itself. We will need those fixes landed in the version of ansible prior to being able to land this. Depends-On: https://github.com/ansible/ansible/pull/69730 Depends-On: https://github.com/ansible/ansible/pull/69524 Change-Id: Ib4a02a192377aafab5970647d74977cb1189bcae
This commit is contained in:
parent
e46d997c4a
commit
a5f9740759
@ -497,6 +497,7 @@ outputs:
|
||||
- common_roles
|
||||
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Deploy step tasks for step 0
|
||||
become: true
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
@ -521,6 +522,7 @@ outputs:
|
||||
- step0
|
||||
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Server pre deployment steps
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
any_errors_fatal: yes
|
||||
@ -531,6 +533,7 @@ outputs:
|
||||
- pre_deploy_steps
|
||||
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Server deployments
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
any_errors_fatal: yes
|
||||
@ -657,6 +660,7 @@ outputs:
|
||||
{% endraw %}
|
||||
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Host prep steps
|
||||
become: true
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
@ -692,6 +696,7 @@ outputs:
|
||||
{%- for step in range(1,deploy_steps_max) %}
|
||||
|
||||
- hosts: DEPLOY_SOURCE_HOST
|
||||
strategy: tripleo_free
|
||||
name: External deployment step {{step}}
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
any_errors_fatal: yes
|
||||
@ -721,6 +726,7 @@ outputs:
|
||||
- step{{step}}
|
||||
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Deploy step tasks for {{step}}
|
||||
become: true
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
@ -801,6 +807,7 @@ outputs:
|
||||
|
||||
{%- endfor %}
|
||||
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
|
||||
strategy: tripleo_free
|
||||
name: Server Post Deployments
|
||||
become: true
|
||||
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user