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.

Reply via email to