substituição da variável puppet falha

1

Eu sou um novato no fantoche e conheci alguns assuntos como assunto, pesquisei por algum tempo, mas falhei com uma resposta correspondente. Mys questões é como:

Eu defini variáveis globais $ puppetserver em /etc/puppet/manifests/site.pp conforme abaixo:

case $domain {
    /domain2/:{
    $puppetserver = "puppetserver2"
    include migrate
    }
    default:{
    $puppetserver = "puppetserver3"
    }
}

na definição do nó dos servidores no domínio2 em manifestos / labs / domain2 / nodes.pp

node 'server1.domain2.com' {
    $puppetserver = "puppetserver3"
 }

o módulo de migração é usado para a migração de fantoches, obtido da internet como abaixo:

em modules / migrate / manifests / config.pp

class migrate::config  {
  if $puppetserver == undef {
    fail('You must define the targeted Puppet master to perform the migration')
  } 

  augeas { 'puppet.conf.migrate':
    context => '/files/etc/puppet/puppet.conf/main',
    changes => [
       "set server $puppetserver",
]
}

}

Como o nó 'server1.domain2.com' pode coincidir com a configuração do domínio2 no site.pp, para que ele aplique o módulo migrate, ele deve obter o 'puppetserver3' para $ puppetserver definido no bloco do nó e ser atualizado em ' /etc/puppet/puppet.conf 'pelo Augeas, mas o resultado real é: ele é atualizado como puppetserver2, que foi definido em site.pp. Não consigo entender por que a substituição não está funcionando. Você pode ajudar a verificar o que está errado?

E como teste:

Quando tentei mover o módulo 'include migrate' do site.pp para o nó 'server1.domain2.com' {} block of nodes.pp, pode funcionar como esperado.

    
por KevinZH 01.03.2017 / 09:07

0 respostas

Tags