Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Collapse deploy steps
Browse files Browse the repository at this point in the history
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
  • Loading branch information
mwhahaha authored and EmilienM committed Jul 3, 2020
1 parent 0224547 commit f82af55
Showing 1 changed file with 28 additions and 67 deletions.
95 changes: 28 additions & 67 deletions common/deploy-steps.j2
Original file line number Diff line number Diff line change
Expand Up @@ -757,77 +757,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
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_{{step}} already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config/step_{{step}}"
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)
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_{{step}} already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config/step_{{step}}"
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
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}} already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config/step_{{step}}"
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}} already exists"
stat:
path: "/var/lib/tripleo-config/container-startup-config/step_{{step}}"
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
Expand Down

0 comments on commit f82af55

Please sign in to comment.