Usando o Hiera para definir variáveis globais

1

Gostaria de definir um valor usado repetidamente por várias classes e recursos do Hiera. Em outras palavras, defina um parâmetro global por meio do Hiera. Então, no arquivo yaml apropriado, eu tenho:

myvarr: 'foo'

Então, nos manifestos, eu tentei:

if $myvar == 'foo'

bem como

if $::myvar == 'foo'

sem sucesso. Como isso é feito? Olhando para os documentos do Puppet não ajudou muito, tudo o que vi foram exemplos baseados em classes.

    
por MrSilverSnorkel 29.07.2015 / 19:09

2 respostas

2

De puppet 3 , o fantoche faz hiera de pesquisa automática, mas se você tiver muitos módulos ou classes, fazer pesquisa automática para cada módulo ou variável de classe aumenta o tempo de compilação do catálogo, para desabilitar pesquisa automática

data_binding_terminus = none

Eu prefiro fazer chamadas explícitas, somente onde eu precisar obter dados de hiera :

$var = hiera('foo')
    
por 29.07.2015 / 23:53
0

Hiera injeta a variável em uma classe. Então você precisa definir uma classe minha classe e no seu hiera use myclass :: var: foo. Isso fará var = foo dentro da minha classe.

Além disso, o hiera deve ser usado para sobrescrever os valores padrão, e não definir os padrões.

    
por 29.07.2015 / 21:07

Tags