| One feature present in the hiera functions that are missing from lookup() is hiera's little known third argument - an alternate lookup path to used that overrides the lookup path defined in hiera.yaml. This allowed us to, for example, override the lookup path on our pgpool nodes to pull some data specified in a yaml file specific to a given postgresql cluster. With the new method, we were told this is not possible, we have to restructure our hierarchy and use some sort of shared file. This, however, requires considerable effort to execute properly as have have to find a way to have a file that is shared across two different roles, but still confined to a given group, lifecyle, and cluster (these are fact based layers or pieces to our current hierarchy) so that we can not have to enter the same data over and over but also not have the data leak into places it shouldn't be (i.e. a different PG cluster). We face a similar issue with keepalived/haproxy/apache/tomcat type application stacks with pieces of configuration that need to be shared between them in a DRY manner. |