From 5bf5dd9d9c0df3510f1553cc43f2e40800a815ee Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Wed, 27 Jan 2021 17:08:46 +0100 Subject: [PATCH] Move the Overcloud common bootstrap tasks for step 1 before the deploy tasks The "Overcloud common bootstrap tasks for step 1" setup pulls in the tasks from the following file: common_deploy_steps_tasks_step_1: {get_file: deploy-steps-tasks-step-1.yaml} Now in that file we mainly do the following tasks: - Set up the /var/lib/{tripleo-config,container-puppet,kolla} folders - Write the container config json files - Set up some puppet folders - Write puppet step_config manifestes Not only it makes sense to have these preparation steps before the deployment steps, even at step1, but it also is strictly needed for the Frr/Bgp service. The reason for that is that Frr runs containerized and needs to start at deploy_step 1, so that traffic to the other bgp nodes is working before step_config step 1 which contains the puppet invocation to set up the cluster. In particular the frr/bgp container needs to be started during deployment step1 and to do so we need the kolla files and the other container startup files to be set up before we invoke podman. I could not figure out from the git history as to why this was not done in the first place, it seems to not have been done on purpose. So I did some extra testing to make sure nothing got broken by this: 1) Tested a composable control plane largish env with this patch only (train) 2) Tested a minor updated process on (1) 3) Tested a redeploy on (1) 4) Tested an FFU upgrade from queens to train with this change applied (3xctrl + 2xcmp) 5) Tested a BGP deployment spread over 3 racks in a spine/leaf configuration (~a dozen of deployments) Change-Id: I0e6594bfd1ff2e27bb4917c157f163643a811ca6 --- common/deploy-steps.j2 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2 index 865591fc01..f72ed1cff8 100644 --- a/common/deploy-steps.j2 +++ b/common/deploy-steps.j2 @@ -693,17 +693,6 @@ outputs: force: true mode: '0600' {% endraw %} - - name: Deploy step tasks for {{step}} - delegate_to: localhost - run_once: true - debug: - msg: Use --start-at-task 'Deploy step tasks for {{step}}' to resume from this task -{%- for role in roles %} - - include_tasks: "{{role.name}}/deploy_steps_tasks_step{{step}}.yaml" - when: - - tripleo_role_name == '{{role.name}}' - - "'{{role.name}}/deploy_steps_tasks_step{{step}}.yaml' is exists" -{%- endfor %} {% if step == 1 %} - name: Overcloud common bootstrap tasks for step 1 block: @@ -722,6 +711,17 @@ outputs: - ((deploy_identifier is defined and deploy_identifier != "" and deploy_identifier is not none) or not container_startup_configs_json_stat.stat.exists) {% endif %} + - name: Deploy step tasks for {{step}} + delegate_to: localhost + run_once: true + debug: + msg: Use --start-at-task 'Deploy step tasks for {{step}}' to resume from this task +{%- for role in roles %} + - include_tasks: "{{role.name}}/deploy_steps_tasks_step{{step}}.yaml" + when: + - tripleo_role_name == '{{role.name}}' + - "'{{role.name}}/deploy_steps_tasks_step{{step}}.yaml' is exists" +{%- endfor %} - name: Overcloud common deploy step tasks {{step}} block: - name: Overcloud common deploy step tasks {{step}}