Comment 5 for bug 1463092

Revision history for this message
Steve Baker (steve-stevebaker) wrote :

OK, here is a plan, let me know what you think:

- write a heat-templates/hot/software-config/elements/heat-config-puppet/os-refresh-config/configure.d/45-heat-config-puppet-hiera which is very similar to 50-heat-config-docker-compose [1]. It will perform the same function as the hiera element (40-hiera-datafiles and oac hiera.yaml) for config resource which have group: puppet-hiera (instead of group: os-apply-config). It is responsible for ensuring that /etc/puppet/hiera.yaml and /etc/puppet/hieradata reflect exactly what has been deployed from heat every time os-refresh-config is run (and before puppet apply is triggered)

- write a heat-templates/hot/software-config/elements/heat-config-puppet/install.d/hook-puppet-hiera.py which does nothing except signal the output derived_config_id for all deployed group: puppet-hiera configs

- modify the templates to switch to group: puppet-hiera for all hiera configs

- modify the templates to build a digest of all derived_config_id values and feed that into the post deployment resource so that puppet apply is triggered whenever any hiera data changes

- once everything is switched over, delete the tripleo-puppet-elements hiera element

[1] http://git.openstack.org/cgit/openstack/heat-templates/tree/hot/software-config/elements/heat-config-docker-compose/os-refresh-config/configure.d/50-heat-config-docker-compose