Você pode querer experimentar o fantoche 3.2.3.
3.2.2 tinha # 21376 problema semelhante, mas foi corrigido em 3.2.3, pode ser regressão
Estou trabalhando em um projeto de refatoração para um grande repositório de módulos personalizados de fantoches. Isso inclui uma atualização do fantoche 2.x para 3.2.4. Quando finalmente atingi massa crítica e comecei a testar algumas das alterações, rapidamente encontrei o seguinte erro:
Info: Retrieving plugin
Info: Loading facts in /etc/puppet/modules/base/lib/facter/elversion.rb
Info: Loading facts in /etc/puppet/modules/base/lib/facter/site.rb
Info: Loading facts in /var/lib/puppet/lib/facter/elversion.rb
Info: Loading facts in /var/lib/puppet/lib/facter/site.rb
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: stack level too deep at /etc/puppet/manifests/nodes.pp:9 on node puppet
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Depois de analisar vários relatórios de bugs de fantoches, decidi tentar simplificar o problema. Limitei o problema a duas classes, definidas como:
class base::includes { }
e
class prod_secure::base::includes inherits base::includes { }
Um nó que inclui nada além de prod_secure :: base :: includes produz a saída de erro listada acima. O único aviso possivelmente relacionado que vejo em puppet-lint
é:
WARNING: class inherits across module namespaces on line 1
... mas isso é apenas um aviso, e não deveria travar fantoche em uma corrida de agente, eu não pensaria. Alguma ideia? É possível que o esquema de namespacing que configurei não seja suportado pelo fantoche?
UPDATE
Eu decidi levar o teste um passo adiante e mudar o nome da classe herdada. A nova definição é:
class prod_secure::base2::includes2 inherits base::includes { }
O resultado é o mesmo ... stack level too deep
. Parece-me que esta questão não tem nada a ver com o namespace.
UPDATE 2
Durante a rodada anterior de depuração, perdi um detalhe importante:
Wed Sep 11 11:25:09 -0400 2013 Puppet (info): Caching node for puppet
Wed Sep 11 11:25:09 -0400 2013 Puppet (debug): importing '/etc/puppet/manifests/nodes.pp' in environment production
Wed Sep 11 11:25:09 -0400 2013 Puppet (debug): importing '/etc/puppet/manifests/config_file.pp' in environment production
Wed Sep 11 11:25:10 -0400 2013 Puppet (debug): importing '/etc/puppet/modules/prod_secure/manifests/base2/includes2.pp' in environment production
Wed Sep 11 11:25:10 -0400 2013 Puppet (debug): Automatically imported prod_secure::base2::includes2 from prod_secure/base2/includes2 into production
Wed Sep 11 11:25:10 -0400 2013 Puppet (debug): importing '/etc/puppet/modules/prod_secure/manifests/base/includes.pp' in environment production
Wed Sep 11 11:25:10 -0400 2013 Puppet (debug): Automatically imported prod_secure::base::includes from prod_secure/base/includes into production
Wed Sep 11 11:25:10 -0400 2013 Puppet (err): stack level too deep at /etc/puppet/manifests/nodes.pp:9 on node puppet
Wrapped exception:
stack level too deep
Eu não posso dizer que tenho certeza do porquê, mas ainda estava tentando carregar o prod_secure :: base :: includes, e essa foi a entrada ofensiva. Depois de remover esse arquivo completamente, o teste foi aprovado. Estou de volta à teoria do namespace ...
Você pode querer experimentar o fantoche 3.2.3.
3.2.2 tinha # 21376 problema semelhante, mas foi corrigido em 3.2.3, pode ser regressão
Tags puppet puppetmaster