[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
With some adjustment:
(cherry picked from commit 536230b323)
This commit is contained in:
Sofer Athlan-Guyot 2020-02-04 12:11:15 +01:00 committed by Athlan-Guyot sofer
parent ab1079e51d
commit aa365ee117
2 changed files with 33 additions and 38 deletions

View File

@ -390,6 +390,7 @@ outputs:
extra_hosts_entries: {get_param: ExtraHostsEntries}
vip_hosts_entries: {get_param: VipHostsEntries}
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}
@ -525,44 +526,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
@ -1007,6 +971,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:

View File

@ -0,0 +1,30 @@
- 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
- 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