Ok, so I spent some time looking in to the approach Steve suggests in comment #5 - that may still be the best long-term approach, but it started getting time-consuming, so I took the efficient/lazy engineer approach and started looking for a simpler way..
My alternate plan is a simplified variation on Steve's:
1. Modify 99-refresh-completed to know about a new group "orc-hiera-datafiles", and if we find that group, calculate a hash of the hieradata on the node and send it back via the deploy_stdout part of the signal payload (currently we're not passing any valid deployment signal data at all via 99-refresh-completed)
2. Update the templates to use get_attr to reference the deploy_stdout and switch the hiera SoftwareConfig groups to orc-hiera-datafiles
This to me seems like a quicker and less risky interim solution, I've already implemented (1), (2) is still todo (I've tested the get_attr with a simple minimal template on devstack though).
Ok, so I spent some time looking in to the approach Steve suggests in comment #5 - that may still be the best long-term approach, but it started getting time-consuming, so I took the efficient/lazy engineer approach and started looking for a simpler way..
My alternate plan is a simplified variation on Steve's:
1. Modify 99-refresh- completed to know about a new group "orc-hiera- datafiles" , and if we find that group, calculate a hash of the hieradata on the node and send it back via the deploy_stdout part of the signal payload (currently we're not passing any valid deployment signal data at all via 99-refresh- completed)
2. Update the templates to use get_attr to reference the deploy_stdout and switch the hiera SoftwareConfig groups to orc-hiera-datafiles
This to me seems like a quicker and less risky interim solution, I've already implemented (1), (2) is still todo (I've tested the get_attr with a simple minimal template on devstack though).