Hi folks,

Is there a way to test the result of a hiera_hash() lookup in a manifest? I 
am trying to use hiera to do most of my configuration, like this for 
example:

mysql::grants:
  'user1@localhost':
    privileges:
      - select_priv
  'user2@localhost':
    privileges:
      - select_priv
      - insert_priv
      - lock_tables_priv

I have a wrapper class that then does this:

class custom::mysql::grants {
  $grantoptions = hiera_hash('mysql::grants')
  create_resources('database_grant', $grantoptions)
}

That works fine as long as I include the custom::mysql::grants class. But 
right now I can only include that class on nodes where I define explicit 
grants. If I don't have the mysql::grants hash defined for that node in 
hiera, puppet complains:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
Could not find data item mysql::grants in any Hiera data file and no 
default supplied at /path/to/custom/manifests/mysql.pp:34

I tried testing the $grantoptions variable after calling hiera_hash() but 
that's too late - it's the hiera_hash function itself that produces that 
error. I would love to be able to just include this wrapper class globally, 
and then have it only run create_resources if it actually finds a usable 
hash for that node, so I don't have as many includes on each individual 
node. 

Any thoughts?

Thanks!

Chris

-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to