2014-09-22 5 views
1

[корень @ кукольный кукольный] # кошка /etc/hiera.yamlCLI hiera поиск неудачен, но кукольный агент -t работает

--- 
:backends: 
    - yaml 
:yaml: 
    :datadir: '/etc/puppet/hieradata' 
:hierarchy: 
    - env/%{::environment}/fqdn/%{::fqdn} 
    - hostgroup/%{::hostgroup1} 
    - global 

[корень @ кукольный кукольный] # кошка hieradata/ENV/DEV/FQDN/client00.itw.local.yaml

fruit::a: 
    - 'DevFQDN-kiwi' 

[корень @ кукольный кукольный] окружающая среда # кошка/DEV/модули/фрукты/манифесты/init.pp

class fruit(
     $a = hiera('fruit::a'), 
     $b = hiera('fruit::b'), 
     $c = hiera('fruit::c') 
) { 
     notify { 'foo': 
       message => "a is: ${a}, b is: ${b}, c is : ${c}", 
     } 
} 

фруктов :: кажется, RESOL ве штрафа на client00.itw.local

[[email protected] ~]# puppet agent -t 
Warning: Local environment: "production" doesn't match server specified node environment "dev", switching agent to "dev". 
Info: Retrieving plugin 
Info: Caching catalog for client00.itw.local 
Info: Applying configuration version '1411407772' 
Notice: a is: DevFQDN-kiwi, b is: HostgroupAll-orange, c is : global-lime-C 

Но CLI hiera не возвращает правильное значение на кукловода

[[email protected] puppet]# hiera -d fruit::a ::fqdn=client00.itw.local ::hostgroup1=all 
DEBUG: Mon Sep 22 13:57:16 -0400 2014: Hiera YAML backend starting 
DEBUG: Mon Sep 22 13:57:16 -0400 2014: Looking up fruit::a in YAML backend 
DEBUG: Mon Sep 22 13:57:16 -0400 2014: Looking for data source hostgroup/all 
DEBUG: Mon Sep 22 13:57:16 -0400 2014: Looking for data source global 
DEBUG: Mon Sep 22 13:57:16 -0400 2014: Found fruit::a in global 
["global-lime-A"] 

С mcollective, hiera -d фрукты :: -m, client00.itw . Я получил тот же результат.

Благодарим за помощь.

+0

Вы уверены, что ваш hiera.yaml находится под/etc? Поскольку обычно кукольный агент использует /etc/puppet/hiera.yaml, а cli использует /etc/hiera.yaml https://docs.puppetlabs.com/hiera/1/configuring.html – Emyl

+0

Да. Я сопоставил два файла. – user1141993

ответ

1

среды является кукольным конкретным фактом, включенная в кукольной библиотеке

При использовании hiera в командной строке you have to pass those facts.

+0

Спасибо. «Hiera -d fruit :: a :: environment = dev :: fqdn = client00.itw.local» вернул правильное значение. – user1141993

+0

Следующий вопрос: «hiera -d fruit :: a -m client00.itw.local :: enviornment = dev» возвращает неправильное значение. «hiera -d fruit :: a -m client00.itw.local :: enviornment = dev :: fqdn = client00.itw.local» возвращает правильное значение. Но я надеялся, что mcollective спасет меня от печатания. – user1141993

Смежные вопросы