From 536230b323e5c3ac41e6ed990360317cdb5bc702 Mon Sep 17 00:00:00 2001 From: Sofer Athlan-Guyot Date: Tue, 4 Feb 2020 12:11:15 +0100 Subject: [PATCH] [update] Ensure we get fresh hiera data before running update_steps. We need to make sure that the hiera data are fresh before the update step so that anyone using those data during those steps are seeing the latest information from heat. Factor out the hiera generation and include it in deployment and update playbooks. The double tasks definition in the deployment playbook seemed to be redundant so It has been removed. Change-Id: I6b6c676880ccc8cbed23af135e5865c222a8f1d0 Closes-Bug: #1861799 --- common/deploy-steps.j2 | 41 +++-------------------------------- common/hiera-steps-tasks.yaml | 25 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 38 deletions(-) create mode 100644 common/hiera-steps-tasks.yaml diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2 index d7b283bf74..0e7b21b848 100644 --- a/common/deploy-steps.j2 +++ b/common/deploy-steps.j2 @@ -395,6 +395,7 @@ outputs: vip_hosts_entries: {get_param: VipHostsEntries} keystone_resources: {get_param: KeystoneResourcesConfigs} common_deploy_steps_tasks: {get_file: deploy-steps-tasks.yaml} + hiera_steps_tasks: {get_file: hiera-steps-tasks.yaml} deploy_steps_tasks_step_0: {get_file: deploy-steps-tasks-step-0.yaml} common_deploy_steps_tasks_step_1: {get_file: deploy-steps-tasks-step-1.yaml} container_startup_configs_tasks: {get_file: container_startup_configs_tasks.yaml} @@ -530,44 +531,7 @@ outputs: gather_facts: {{ '"{{' }} gather_facts | default(false) {{ '}}"' }} any_errors_fatal: yes tasks: - - name: Hiera configuration - when: not ansible_check_mode|bool - block: - - name: Hiera config - include_role: - name: tripleo_hieradata - - name: Hiera symlink - file: - src: /etc/puppet/hiera.yaml - dest: /etc/hiera.yaml - state: link - force: true - tags: - - overcloud - - pre_deploy_steps - - - hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST - name: Server hieradata from vars - gather_facts: {{ '"{{' }} gather_facts | default(false) {{ '}}"' }} - any_errors_fatal: yes - tasks: - - name: Hieradata from vars - when: not ansible_check_mode|bool - include_role: - name: tripleo_hieradata - tasks_from: hieradata_vars.yaml - vars: - hieradata_templates_list: - - bootstrap_node - - all_nodes - - vip_data - - net_ip_map - - cloud_domain - - fqdn - - service_names - - service_configs - - extraconfig - - role_extraconfig + - import_tasks: hiera_steps_tasks.yaml tags: - overcloud - pre_deploy_steps @@ -1013,6 +977,7 @@ outputs: docker_puppet_mount_host_puppet: DOCKER_PUPPET_MOUNT_HOST_PUPPET tripleo_minor_update: true tasks: + - import_tasks: hiera_steps_tasks.yaml - include_tasks: update_steps_tasks.yaml with_sequence: start=0 end={{update_steps_max-1}} loop_control: diff --git a/common/hiera-steps-tasks.yaml b/common/hiera-steps-tasks.yaml new file mode 100644 index 0000000000..3f8127c870 --- /dev/null +++ b/common/hiera-steps-tasks.yaml @@ -0,0 +1,25 @@ +- name: Hiera config + include_role: + name: tripleo-hieradata +- name: Hiera symlink + file: + src: /etc/puppet/hiera.yaml + dest: /etc/hiera.yaml + state: link + force: true +- name: Hieradata from vars + include_role: + name: tripleo-hieradata + tasks_from: hieradata_vars.yaml + vars: + hieradata_templates_list: + - bootstrap_node + - all_nodes + - vip_data + - net_ip_map + - cloud_domain + - fqdn + - service_names + - service_configs + - extraconfig + - role_extraconfig