Hiera + Aulas de marionetes

2

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:)

    
por Amadan 09.11.2012 / 10:28

2 respostas

1

Eu sou um idiota, e a edição da pergunta estava correta: depois de reiniciar o mestre de bonecos, tudo funcionou bem.

    
por 12.11.2012 / 07:11
0

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

    
por 09.11.2012 / 12:01

Tags