Eu sou um idiota, e a edição da pergunta estava correta: depois de reiniciar o mestre de bonecos, tudo funcionou bem.
Estou tentando descobrir o Puppet (3.0) e como ele se relaciona com o Hiera embutido. Então é isso que eu tentei, um exemplo extremamente simples (eu vou fazer uma hierarquia mais complexa quando eu conseguir fazer o simples funcionar):
# /etc/puppet/hiera.yaml
:backends:
- yaml
:hierarchy:
- common
:yaml:
:datadir: /etc/puppet/hieradata
# /etc/puppet/hieradata/common.yaml
test::param: value
# /etc/puppet/modules/test/manifests/init.pp
class test ($param) { notice($param) }
# /etc/puppet/manifests/site.pp
include test
Se eu aplicá-lo diretamente, tudo bem:
$ puppet apply /etc/puppet/manifests/site.pp
Scope(Class[Test]): value
Se eu passar pelo mestre das marionetes, não está bem:
$ puppet agent --test
Could not retrieve catalog from remote server: Error 400 on SERVER: Must pass param to Class[Test] at /etc/puppet/manifests/site.pp:1 on node <nodename>
O que estou perdendo?
EDITAR :
Acabei de sair do escritório, mas um pensamento me ocorreu: eu provavelmente deveria reiniciar o mestre de marionetes para que ele possa ver o novo hiera.conf. Vou tentar isso na segunda-feira; Nesse meio tempo, se alguém descobrir algum problema não-it, eu apreciaria:)
Para Hiera (/etc/puppet/environments/local/hieradata/hostgroups/base/yourhostname/all.yaml)
mySuperVariable: lalala
Para Init (/ etc / fantoche / ambientes / local / manifestos / seuhostname / manifesto)
class mimir :: init { $ myvariable = hiera ('mySuperVariable', 'fallbackValue') }
Para Modelo (/ etc / puppet / ambientes / local / manifests / yourhostname / templates)
qualquer que seja ... <% = myvariable% > blahblah
Tags puppet