Turns out that the problem was fixed by restarting puppetmaster. I hadn't appreciated that this is necessary when the hiera config changes - as you don't need to restart puppetmaster to pick up new manifests, for instance.

Thanks for your help anyway!
Jonathan


On 10/05/13 16:47, Jon Ward wrote:
Try putting the variable in common.yaml at the bottom of the hierarchy and see if it gets picked up. If it does then perhaps the value of the fqdn fact isn't what you think it is.

You can also try running puppetmaster in the foreground in debug mode:

    $ puppet master —no-daemonize —debug


Now when you run puppet you should see the Hiera lookups happening as the catalog is compiled, this might help you pinpoint the problem..

On Friday, May 10, 2013 3:46:28 PM UTC+1, Jonathan Gazeley wrote:

    Hi Jon,

    Thanks for your tip. I had made a typo in my yaml which debug mode
    picked up. I fixed it, and now your command works when run on the
    puppetmaster but the same error persists when the variable is
    accessed
    either from a manifest or from a template during a puppet agent run.

    I'm wondering if it might be something to do with the agents not
    syncing
    the hiera data store, perhaps? I'm new to hiera...

    Cheers,
    Jonathan



    On 10/05/13 14:25, Jon Ward wrote:
    > Hi,
    >
    > Have you tried doing the Hiera lookup on the command line to double
    > check it can be read?
    >
    >     $ hiera -d -c /path/to/hiera.yaml jrs_config_server1
    fqdn=hostname
    >
    >
    > Cheers,
    >
    > Jon
    >
    > On Friday, May 10, 2013 12:18:22 PM UTC+1, Jonathan Gazeley wrote:
    >
    >     Hi,
    >
    >     I'm having a problem accessing Hiera data from within
    templates.
    >     Yes, I
    >     know this is not the recommended way to access Hiera data,
    but in
    >     my use
    >     case I think it will be easier overall.
    >
    >     In manifests, this code works:
    >
    >     {
    >        ip => hiera('jrs_config_server1'),
    >     }
    >
    >     In a template, part of the same module as the manifest, this
    does
    >     not work:
    >
    >     ipaddr = <%= scope.function_hiera(["jrs_config_server1"]) %>
    >
    >     It fails with this error:
    >
    >     Could not find data item jrs_config_server1 in any Hiera
    data file
    >     and
    >     no default supplied
    >
    >     The value of " jrs_config_server1" is in Hiera, specific to the
    >     fqdn of
    >     the node. I'm struggling to see why it would not be working.
    Any
    >     ideas?
    >
    >     Cheers,
    >     Jonathan
    >
    > --
    > 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 post to this group, send email to puppet...@googlegroups.com
    <javascript:>.
    > Visit this group at
    http://groups.google.com/group/puppet-users?hl=en
    <http://groups.google.com/group/puppet-users?hl=en>.
    > For more options, visit https://groups.google.com/groups/opt_out
    <https://groups.google.com/groups/opt_out>.
    >
    >

--
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 post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



--
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 post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to