Yes it's defined in :

*"%{::domain}/%{::environment}/%{::osfamily}/%{::lsbdistcodename}"*

which is expanded to loc.example.com/production/Debian/wheezy.yaml

The problem is that when I run:

$ puppet apply --environment=production -e '$test = 
hiera('ssh_service_config') notify { $test: }'

Debug: hiera(): Looking for data source 
loc.example.com/production/Debian/wheezy
Debug: hiera(): Found ssh_service_config in 
loc.example.com/production/Debian/wheezy

it works just fine, but when I use:

$ puppet agent -tv

it fails to find the variable. If I remove the *%{::domain} *however then 
it works with puppet agent as well.

$ facter domain
loc.example.com



On Monday, January 6, 2014 2:34:00 PM UTC-6, Andrew wrote:
>
> I assume "ssh_service_config" is indeed defined in your yaml file?
>
> I would suggest to define it in the top level hierarchy in "defaults" and 
> then gradually move 1 level down until you find when it "disappears". 
>
> Andrey
>
>
> On 6 January 2014 19:20, kai <[email protected] <javascript:>> wrote:
>
>> I have the following hiera.yaml file:
>>
>> ---
>> :backends:
>>   - yaml
>>   - file
>>
>> :hierarchy:
>>   - defaults
>>   - "%{clientcert}"
>>  * - "%{::domain}/%{::environment}/%{::osfamily}/%{::lsbdistcodename}"*
>>   - global
>>
>> :yaml:
>>   :datadir: /etc/puppet/data
>>
>> and the following in /etc/puppet/data:
>>
>> *loc.example.com/production/Debian/wheezy.yaml 
>> <http://loc.example.com/production/Debian/wheezy.yaml>*
>>
>> The domain fact returns loc.example.com, the osfamily fact returns 
>> Debian and the lsbdistcodename returns wheezy.
>>
>>
>> When I run 
>>
>> puppet apply --environment=production -e '$test = 
>> hiera('ssh_service_config') notify { $test: }'
>>
>> I get the ssh_service_config variable from the  /etc/puppet/data/
>> loc.example.com/production/Debian/wheezy.yaml file, which in my mind 
>> means that the correct file was chosen based on the 3 facts (environment. 
>> osfamily and lsbdistcodename), which is what I want.
>>
>> However if I run:
>>
>> $ puppet agent -tv --environment=production
>> Info: Retrieving plugin
>> Error: Could not retrieve catalog from remote server: Error 400 on 
>> SERVER: Could not find data item ssh_package_name in any Hiera data file 
>> and no default supplied at 
>> /srv/puppet/environments/production/modules/ssh/manifests/install.pp:2 on 
>> node puppetmaster.iad3.example.com
>> Warning: Not using cache on failed catalog
>> Error: Could not retrieve catalog; skipping run
>>
>> Or:
>>
>> $ hiera -d ssh_service_config environment=production osfamily=Debian 
>> lsbdistcodename=wheezy
>> DEBUG: 2014-01-06 19:18:08 +0000: Hiera YAML backend starting
>> DEBUG: 2014-01-06 19:18:08 +0000: Looking up ssh_service_config in YAML 
>> backend
>> DEBUG: 2014-01-06 19:18:08 +0000: Looking for data source defaults
>> DEBUG: 2014-01-06 19:18:08 +0000: Looking for data source global
>> DEBUG: 2014-01-06 19:18:08 +0000: Hiera File backend starting
>> DEBUG: 2014-01-06 19:18:08 +0000: Looking up ssh_service_config in File 
>> backend
>> DEBUG: 2014-01-06 19:18:08 +0000: Hiera File_backend: looking for data 
>> source 'defaults'
>> DEBUG: 2014-01-06 19:18:08 +0000: Cannot find datafile 
>> /var/lib/hiera/defaults.d, skipping
>> DEBUG: 2014-01-06 19:18:08 +0000: Hiera File_backend: looking for data 
>> source 'global'
>> DEBUG: 2014-01-06 19:18:08 +0000: Cannot find datafile 
>> /var/lib/hiera/global.d, skipping
>> nil
>>
>> Any idea what is going on? I would like to have a simple hierarchy like 
>> the one in the hiera.yaml file, based on the three facts.
>>  
>> -- 
>> 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 [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-users/f139fb4c-92f2-4616-a522-6bd69ecfd9fb%40googlegroups.com
>> .
>> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/126d00bd-2254-49a0-938b-db55a828a702%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to