- 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
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