That looks correct and you are also correct that the deep merge gem is not required for simple top level key merges. Only for sub keys. I believe the hiera_hash merge example here is still valid,
https://ask.puppet.com/question/13592/when-to-use-hiera-hiera_array-and-hiera_hash/

## rabbitmq_profile.pp
class rabbitmq_profile (
  $vhosts = hiera_hash('rabbitmq_profile::vhosts',{})
) {

I'd make sure that actually the code you're using. If you're using hiera or databindings it'll default to hiera() as well. That would certainly explain the behavior you're seeing.

You might try running the master in debug so you can see the hiera lookups it's attempting.

Ramin

On 6/3/16 11:57 AM, Leonard Smith wrote:
Deep gem is installed. However this should work with native correct if
all I am looking to have it do is create both '/' and 'test' vhost,
without ovverriding each other.



On Friday, June 3, 2016 at 2:47:45 PM UTC-4, Peter Kristolaitis wrote:

    Did you install the deep_merge gem when using the deeper merge
    option?  The gem is required when using deep or deeper merging.


    On 2016-06-03 02:38 PM, Leonard Smith wrote:
    I've been trying to track down a problem with hiera_hash not merging.

    puppet-3.8.6-1.el7
    hiera-1.3.4-1.el7

    ## hiera.yaml
    :hierarchy:
      - test
      - common

    ## test.yaml
    ---
    rabbitmq_profile::vhosts:
      'test' :
        ensure: present

    ## common.yaml
    ---
    rabbitmq_profile::vhosts:
      '/' :
        ensure: present

    ## rabbitmq_profile.pp

    class rabbitmq_profile (

    $vhosts = hiera_hash('rabbitmq_profile::vhosts',{})

    ) {

      notify { "<>$vhosts": }
      create_resources(rabbitmq_vhost, $vhosts )
    }

    ## END


    When I apply the manifest it creates the vhost specified in
    test.yaml but not the one in comon.yaml. I expected it to merge
    the has from both yamls and create the '/' and 'test' vhosts.

     If I remove test from hiera.yaml it creates the '/' vhost fine.
    I've tried setting the merge_behavior explicitly to native, deep
    and deeper, but I still see the behavior where it picks up the
    hash form the first yaml file it encounters and ignores the rest.


    --
    You received this message because you are subscribed to the Google
    Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to puppet-users...@googlegroups.com <javascript:>.
    To view this discussion on the web visit
    
<https://groups.google.com/d/msgid/puppet-users/9073d972-61d4-4454-bf0a-8dad4f889062%40googlegroups.com?utm_medium=email&utm_source=footer>https://groups.google.com/d/msgid/puppet-users/9073d972-61d4-4454-bf0a-8dad4f889062%40googlegroups.com
    
<https://groups.google.com/d/msgid/puppet-users/9073d972-61d4-4454-bf0a-8dad4f889062%40googlegroups.com>.
    For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.

--
You received this message because you are subscribed to the Google
Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to puppet-users+unsubscr...@googlegroups.com
<mailto:puppet-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/dda7b1bd-3380-48dc-89d8-5a5c64d5fce0%40googlegroups.com
<https://groups.google.com/d/msgid/puppet-users/dda7b1bd-3380-48dc-89d8-5a5c64d5fce0%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/299bd1e5-719f-8d0b-44af-e5da6dda0a78%40badapple.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to