Collapse deploy steps

Once again we're splitting the deployment steps into multiple plays
which causes ansible to artificially stop at the end of each play when
using a free-style strategy. By combining the deploy steps, bootstrap
tasks and common deploy steps, we can run each step to completion in
parallel rather than stopping at each of these for every step. This will
reduce the overall play count to (1*6) instead of (3*6+1)

Change-Id: I986391617231b9dd23aa487d73db490db84f61ce
(cherry picked from commit f82af5595a)
This commit is contained in:
Alex Schultz 2020-06-09 12:43:24 -06:00 committed by Emilien Macchi
parent 23dd649c85
commit cbefd789d0
1 changed files with 28 additions and 68 deletions

View File

@ -741,78 +741,38 @@ outputs:
- tripleo_role_name == '{{role.name}}'
- "{% raw %}'{{ playbook_dir }}/{{ _task_file_path }}' is exists{% endraw %}"
{%- endfor %}
tags:
- overcloud
- deploy_steps
- step{{step}}
{% if step == 1 %}
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
name: Overcloud common bootstrap tasks for step 1
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
any_errors_fatal: yes
vars:
bootstrap_server_id: BOOTSTRAP_SERVER_ID
step: '{{step}}'
deploy_identifier: DEPLOY_IDENTIFIER
enable_debug: ENABLE_DEBUG
enable_puppet: ENABLE_PUPPET
enable_paunch: ENABLE_PAUNCH
container_cli: CONTAINER_CLI
container_log_stdout_path: CONTAINER_LOG_STDOUT_PATH
container_healthcheck_disabled: CONTAINER_HEALTHCHECK_DISABLED
docker_puppet_debug: DOCKER_PUPPET_DEBUG
docker_puppet_process_count: DOCKER_PUPPET_PROCESS_COUNT
docker_puppet_mount_host_puppet: DOCKER_PUPPET_MOUNT_HOST_PUPPET
tasks:
- name: Overcloud common bootstrap tasks for step 1
delegate_to: localhost
run_once: true
debug:
msg: Use --start-at-task 'Overcloud common bootstrap tasks for step 1' to resume from this task
- name: Check if /var/lib/tripleo-config/container-startup-config-step_1.json already exists
stat:
path: /var/lib/tripleo-config/container-startup-config-step_1.json
register: container_startup_configs_json_stat
- include_tasks: common_deploy_steps_tasks_step_1.yaml
when: (deploy_identifier is defined and deploy_identifier != "" and deploy_identifier is not none) or
(container_startup_configs_json_stat is defined and not container_startup_configs_json_stat.stat.exists)
tags:
- overcloud
- deploy_steps
- step{{step}}
block:
- name: Overcloud common bootstrap tasks for step 1
delegate_to: localhost
run_once: true
debug:
msg: Use --start-at-task 'Overcloud common bootstrap tasks for step 1' to resume from this task
- name: "Check if /var/lib/tripleo-config/container-startup-config-step_1.json already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config-step_1.json"
register: container_startup_configs_json_stat
- name: Write config data at the start of step 1
include_tasks: common_deploy_steps_tasks_step_1.yaml
when:
- ((deploy_identifier is defined and deploy_identifier != "" and deploy_identifier is not none) or
not container_startup_configs_json_stat.stat.exists)
{% endif %}
- hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST
name: Overcloud common deploy step tasks {{step}}
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
any_errors_fatal: yes
vars:
bootstrap_server_id: BOOTSTRAP_SERVER_ID
step: '{{step}}'
deploy_identifier: DEPLOY_IDENTIFIER
enable_debug: ENABLE_DEBUG
enable_puppet: ENABLE_PUPPET
enable_paunch: ENABLE_PAUNCH
container_cli: CONTAINER_CLI
container_log_stdout_path: CONTAINER_LOG_STDOUT_PATH
container_healthcheck_disabled: CONTAINER_HEALTHCHECK_DISABLED
docker_puppet_debug: DOCKER_PUPPET_DEBUG
docker_puppet_process_count: DOCKER_PUPPET_PROCESS_COUNT
docker_puppet_mount_host_puppet: DOCKER_PUPPET_MOUNT_HOST_PUPPET
tasks:
- name: Overcloud common deploy step tasks {{step}}
delegate_to: localhost
run_once: true
debug:
msg: Use --start-at-task "Overcloud common deploy step tasks {{step}}" to resume from this task
- name: Check if /var/lib/tripleo-config/container-startup-config-step_{{ step }}.json already exists
stat:
path: /var/lib/tripleo-config/container-startup-config-step_{{ step }}.json
register: container_startup_configs_json_stat
- include_tasks: common_deploy_steps_tasks.yaml
when: (deploy_identifier is defined and deploy_identifier != "" and deploy_identifier is not none) or
(container_startup_configs_json_stat is defined and not container_startup_configs_json_stat.stat.exists)
block:
- name: Overcloud common deploy step tasks {{step}}
delegate_to: localhost
run_once: true
debug:
msg: Use --start-at-task 'Overcloud common deploy step tasks {{step}}' to resume from this task
- name: "Check if /var/lib/tripleo-config/container-startup-config-step_{{step}}.json already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config-step_{{step}}.json"
register: container_startup_configs_json_stat
- include_tasks: common_deploy_steps_tasks.yaml
when: (deploy_identifier is defined and deploy_identifier != "" and deploy_identifier is not none) or
(container_startup_configs_json_stat is defined and not container_startup_configs_json_stat.stat.exists)
tags:
- overcloud
- deploy_steps