convertendo a herança do nó para hiera

1

Estou trabalhando na mudança de uma árvore de herança de nós para o hiera. Atualmente trabalhando na hierarquia . Antes de hiera, meus nodos tinham uma hierarquia como tal

base
  pre-prod
    qa
      nodes
    staging
      nodes
    development
      nodes
  prod
    nodes

Agora estou tentando obter o mesmo nível com hiera. Começando eu tenho isso

:hierarchy:
  - base
  - "%{environment}"
  - "%{clientcert}"

mas preciso de outro nível para capturar pré-prod e prod . Meu pensamento seria adicionar uma entrada para puppet.conf , algo como

[agent]
realm = pre-prod

então

:hierarchy:
  - base
  - "%{realm}"
  - "%{environment}"
  - "%{clientcert}"

Algumas perguntas

  1. Você tem permissão para colocar propriedades arbitrárias em puppet.conf ?
  2. A hiera verá a propriedade realm ?
por quickshiftin 29.10.2013 / 22:53

1 resposta

1

Você poderia fazer isso no lado do cliente, com um fato personalizado em vez de uma configuração puppet.conf . No entanto, eu diria fazê-lo no lado do servidor, nos dados Hiera. O truque que eu uso para algo semelhante é o seguinte:

  1. Defina algo nos dados do Hiera no nível clientcert , para cada servidor. No seu caso:

    realm: "pre-prod"
    
  2. Pegue essa variável no escopo global via Hiera em site.pp , antes de seu hiera_include :

    $realm = hiera(realm)
    
    hiera_include(classes)
    
  3. A variável foi obtida no arquivo clientcert.yaml e agora será usada nas pesquisas que ocorrem em hiera_include , puxando de pre-prod.yaml com base na "%{realm}" config na sua hierarquia. / p>

por 30.10.2013 / 03:59