Sorry, your hiera config points to: -'%{operatingsystem}' - '%{platform}/%{location}/%{role} - common role
But the facts you have are: company_role company_platform company_location So unless you have facts platform, location, and role defined they aren't going to match up. It's like the facts you've used below: hiera -c /etc/puppet/hiera.yaml hsflowd_port platform=production location=frankfurt role=dev_tst So role = dev_tst does not equal custom_role = dev_tst -- you get what I mean? Something like this might work: -'%{operatingsystem}' - %{custom_platform}/%{custom_location}/%{custom_role} - '%{platform}/%{location}/%{role}' See if that works, Den On 17 Aug 2012 19:31, "linuxbsdfreak" <linuxbsdfr...@gmail.com> wrote: > Just for info i am running ruby-1.9.3p194. > > > On Friday, August 17, 2012 9:28:13 AM UTC+2, linuxbsdfreak wrote: >> >> Hi, >> >> The default value works when i set the value in common.yaml. Strange part >> is why isnt hiera find the value in the hierarchy, since i want to override >> the default value according to a facter fact. >> >> Regards, >> Kevin >> >> On Friday, August 17, 2012 2:57:03 AM UTC+2, denmat wrote: >>> >>> Hi, >>> >>> Can't see anything that stands out in the quick glance, but here's how >>> you can dig further: >>> >>> Use --debug on your puppet run and you'll get an output of what hiera is >>> going through. Second, use notify to print out the variables you are trying >>> to access, making sure they match with what hiera is looking for and what >>> you expect. You can also try setting the default for the hsflowd_port and >>> see if that solves your problems or there are others (not saying you should >>> only use the default, just to further your own investigations). >>> >>> $hsflowd_port = hiera('hsflowd_port', '8080'), >>> >>> >>> >>> HTH, >>> Den >>> >>> On 17/08/2012, at 1:38, linuxbsdfreak <linuxb...@gmail.com> wrote: >>> >>> Typo error location=frankfurt is actually location=london. >>> >>> On Thursday, August 16, 2012 5:25:17 PM UTC+2, linuxbsdfreak wrote: >>>> >>>> Hi All, >>>> >>>> I am using hiera for storing configuration values. I have setup puppet >>>> to use facter following the article from >>>> >>>> http://nuknad.com/2011/02/11/**s**elf-classifying-puppet-nodes/<http://nuknad.com/2011/02/11/self-classifying-puppet-nodes/> >>>> >>>> I have custom facts >>>> >>>> company_role >>>> company_platform >>>> company_location >>>> >>>> I have defined the following in hiera.yaml >>>> >>>> --- >>>> :backends: >>>> - yaml >>>> >>>> :logger: console >>>> >>>> :hierarchy: >>>> - '%{operatingsystem}' >>>> - '%{platform}/%{location}/%{**rol**e}' >>>> - common >>>> >>>> :yaml: >>>> :datadir: '/etc/puppet/hieradata' >>>> >>>> >>>> and i create the directories /etc/puppet/hieradata/**producti** >>>> on/london/dev_tst.yaml >>>> >>>> I have something like this in the above file >>>> >>>> --- >>>> >>>> hsflowd_port: 8080 >>>> >>>> company_role: dev_tst >>>> company_platform: production >>>> company_location: london >>>> >>>> Given a system with the above facts connecting to puppetmaster. When i >>>> run the client i get the following error >>>> >>>> Err: Could not retrieve catalog from remote server: Error 400 on >>>> SERVER: Could not find data item hsflowd_port in any Hiera data file and no >>>> default supplied at /etc/puppet/modules/hsflowd/**ma** >>>> nifests/config.pp. >>>> >>>> >>>> For some reason its not getting the value. However when i do the >>>> following from the command line >>>> >>>> hiera -c /etc/puppet/hiera.yaml hsflowd_port platform=production >>>> location=frankfurt role=dev_tst >>>> >>>> I get the value. >>>> >>>> Following is my manifest: >>>> >>>> class hsflowd::config( >>>> $hsflowd_user = hiera('hsflowd_user'), >>>> $hsflowd_group = hiera('hsflowd_group'), >>>> $hsflowd_config_dir = hiera('hsflowd_config_dir'), >>>> $hsflowd_port = hiera('hsflowd_port'), >>>> ) >>>> >>>> { >>>> >>>> file { >>>> "${hsflowd_config_dir}/**hsflowd**.conf": >>>> ensure => present, >>>> content => template("${module_name}/**hsflo** >>>> wd.conf.erb"), >>>> owner => $hsflowd_user, >>>> group => $hsflowd_group, >>>> mode => '0644'; >>>> } >>>> >>>> Is something wrong that i am doing? >>>> >>>> Regards, >>>> Kevin >>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To view this discussion on the web visit https://groups.google.com/d/** >>> msg/puppet-users/-/**L2PKd1u1QAgJ<https://groups.google.com/d/msg/puppet-users/-/L2PKd1u1QAgJ> >>> . >>> To post to this group, send email to puppet...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users...@googlegroups.**com. >>> For more options, visit this group at http://groups.google.com/** >>> group/puppet-users?hl=en<http://groups.google.com/group/puppet-users?hl=en> >>> . >>> >>> -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/puppet-users/-/3rPfzeEvIMUJ. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.