As a result of some introspection around r10k workflows, I came to agree with the statement in the title of HI-490: "the location of hiera.yaml in puppet-agent is a mistake." The root of the problem is that the current hiera.yaml is a mixture of global configuration (datadir location, merge behaviour, the backend configuration) and "code" like settings, namely the hierarchy itself. We chose to put it in $codedir but this has caused problems when people try to manage the file with puppet modules because it then conflicts with the control repo/r10k deploy workflow. (The PE-13367 ticket I mention in the description there is about the file sync service, but more generally r10k+webook management runs into the same problem.)
There was some conversation that spun off into a google doc and seemed to coalesce around the following proposal: 1. puppet-agent packaging would be updated to install a default hiera.yaml at $confdir/hiera.yaml 2. both puppet and hiera would check in the old location, $codedir/hiera.yaml, and fall back to the new location $confdir/hiera.yaml 3. we would document the new location and encourage users to move their hiera.yaml This then raises the question of when we yank support for the old location, $codedir/hiera.yaml. Here the suggestion is: 1. for puppet-agent this happens in a major release of puppet/hiera/puppet-agent 2. for Puppet Enterprise additionally, we check if there is a $codedir/hiera.yaml and block the upgrade if it exists I wanted to raise visibility on this and see what the wider puppet-dev audience thought. Please feel free to chime in here or on the ticket and I'll summarize before taking any action. --eric0 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/55526912-dd49-4fca-8ec6-2f59da7eca84%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
