Erro no Puppet: Could not retrieve catalog from remote server: Error 400 on SERVER: stack level too deep on node algumacoisa.pp
Conheça um patch submetido que parece funcionar nesse caso.
Como um usuário Puppet, você pode se deparar com o seguinte erro.
~$ puppet agent -t Info: Retrieving plugin Info: Loading facts in /etc/puppet/modules/firewall/lib/facter/iptables_persistent_version.rb Info: Loading facts in /etc/puppet/modules/firewall/lib/facter/ip6tables_version.rb Info: Loading facts in /etc/puppet/modules/firewall/lib/facter/iptables_version.rb Info: Loading facts in /etc/puppet/modules/vmwaretools/lib/facter/vmwaretools_version.rb Info: Loading facts in /etc/puppet/modules/postgresql/lib/facter/postgres_default_version.rb Info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb Info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/root_home.rb Info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/pe_version.rb Info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/puppet_vardir.rb Info: Loading facts in /var/lib/puppet/lib/facter/iptables_persistent_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb Info: Loading facts in /var/lib/puppet/lib/facter/ip6tables_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/vmwaretools_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/postgres_default_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/iptables_version.rb Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: stack level too deep on node hostname.tld Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run
O erro “Error 400 on SERVER: stack level too deep on node” pode ser causado por muitas coisas. A mais provável delas parece ser este relato de bug: Puppet master falha com o erro ‘stack level too deep’ quando o storeconfigs = true no stack rails 3.1.0.
Um patch submetido parece funcionar nesse caso.
--- resource.rb.old 2012-07-24 12:56:33.558553439 -0500 +++ resource.rb 2012-07-24 12:57:19.697566347 -0500 @@ -84,7 +84,11 @@ end def [](param) - super || parameter(param) + if param == 'id' + super + else + super || parameter(param) + end end # Make sure this resource is equivalent to the provided Parser resource.
O arquivo é /usr/lib/ruby/site_ruby/1.8/puppet/rails/resource.rb, Edite o arquivo de acordo com o patch acima e reinicie o seu Puppet Master. Além disso, cheque a versão na qual a sua gem activerecord está.
~$ gem list | grep activerecord activerecord (3.0.11, 3.0.10)
Certifique-se de que apenas a versão 3.0.10 esteja instalada.
~$ gem install activerecord -v 3.0.10
Se uma nova gem for instalada, reinicie o Puppet Master novamente.
** Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://mattiasgeniar.be/2013/06/13/puppet-error-could-not-retrieve-catalog-from-remote-server-error-400-on-server-stack-level-too-deep-on-node-something-pp/#more-4013








