puppet-master / foreman “método indefinido '[]' para nil: NilClass no nó” após atualização

1

Depois de atualizar meu puppet-master de 2.7 para 3.6.2, recebo a seguinte mensagem ao executar o agente puppet em um nó:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method '[]' for nil:NilClass on node fqdn

Infelizmente, não posso fornecer mais informações. Eu o log de depuração do fantoche-mestre mostra isso:

Jul 11 17:53:40 handsoff puppet-master[6197]: Caching node for fqdn
Jul 11 17:53:40 handsoff puppet-master[6197]: undefined method '[]' for nil:NilClass on node fqdn
Jul 11 17:53:40 handsoff puppet-master[6197]: undefined method '[]' for nil:NilClass on node fqdn
Jul 11 17:53:40 handsoff puppet-master[6197]: undefined method '[]' for nil:NilClass on node fqdn

Estou usando Puppet como foreman nessas versões:

# dpkg -l | grep foreman
ii  foreman                            1.5.1-1                       amd64        Systems management web interface
ii  foreman-installer                  1.5.1-1                       all          Automated puppet-based installer for The Foreman
ii  foreman-postgresql                 1.5.1-1                       all          metapackage providing PostgreSQL dependencies for Foreman
ii  foreman-proxy                      1.5.1-1                       all          RESTful proxies for DNS, DHCP, TFTP, and Puppet
ii  ruby-foreman-api                   0.1.11-1                      all          Ruby bindings for Forman's rest API
ii  ruby-foreman-bootdisk              2.0.8                         all          Foreman Bootdisk Plugin
ii  ruby-foreman-setup                 2.0.4                         all          Foreman

# dpkg -l | grep puppet
ii  facter                             2.1.0-1puppetlabs1            amd64        Ruby module for collecting simple facts about a host operating system
ii  foreman-installer                  1.5.1-1                       all          Automated puppet-based installer for The Foreman
ii  hiera                              1.3.4-1puppetlabs1            all          A simple pluggable Hierarchical Database.
ii  puppet                             3.6.2-1puppetlabs1            all          Centralized configuration management - agent startup and compatibility scripts
ii  puppet-common                      3.6.2-1puppetlabs1            all          Centralized configuration management
ii  puppetdb                           2.1.0-1puppetlabs1            all          PuppetDB Centralized Storage.
ii  puppetdb-terminus                  2.1.0-1puppetlabs1            all          Connect Puppet to PuppetDB by setting up a terminus for PuppetDB.
ii  puppetlabs-release                 1.0-7                         all          "Package to install Puppet Labs gpg key and apt repo"
ii  puppetmaster                       3.6.2-1puppetlabs1            all          Centralized configuration management - master startup and compatibility scripts
ii  puppetmaster-common                3.6.2-1puppetlabs1            all          Puppet master common scripts
ii  ruby-kafo                          0.5.3-1                       all          If you write puppet modules for installing your software, you can use kafo to create powerful installer
ii  ruby-rgen                          0.6.5-1puppetlabs1            all          A framework supporting Model Driven Software Development (MDSD)

Qualquer ajuda é muito apreciada. Estou sem ideias aqui.

    
por Kai 11.07.2014 / 18:00

1 resposta

3

Entre o Puppet 2 e 3, o config.ru (usado pelo Passenger para executar o mestre do Puppet no Apache) precisa ser atualizado conforme a inicialização do Puppet mudou.

Veja as notas de lançamento aqui para o diff: Notas de lançamento do Puppet 3: A configuração do rack do Puppet Master foi alterada

O instalador de Foreman configura este arquivo em /etc/puppet/rack/config.ru, mas usuários Debian que usam puppetmaster-passenger podem encontrá-lo em / usr / share / puppet / rack / puppetmasterd /.

Os usuários do Foreman também devem observar a mudança para os sudoers necessários para a integração da CA Puppet: Atualizar Puppet de v2 para v3 gotchas .

    
por 12.07.2014 / 13:26