web-dev-qa-db-ja.com

puppet-master / foreman「ノード上のnil:NilClassの未定義のメソッド `[] '」更新後

Puppet-masterを2.7から3.6.2に更新した後、ノードでpuppetエージェントを実行すると次のメッセージが表示されます。

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

残念ながら、これ以上情報を提供することはできません。 puppet-masterのデバッグログに次のように表示されます。

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

これらのバージョンでは、フォアマンと一緒にPuppetを実行しています。

# 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)

どんな助けでも大歓迎です。私はここですべてのアイデアがありません。

1
Kai

Puppet 2と3の間で、config.ru(PassengerがApacheでPuppetマスターを実行するために使用)は、Puppetの初期化が変更されたときに更新する必要があります。

差分については、こちらのリリースノートを参照してください。 Puppet 3リリースノート:Puppetマスターラックの構成が変更されました

Foremanのインストーラーはこのファイルを/etc/puppet/rack/config.ruに設定しますが、puppetmaster-passengerを使用しているDebianユーザーは/ usr/share/puppet/Rack/puppetmasterd /の下にある可能性があります。

Foremanユーザーは、Puppet CAの統合に必要なsudoersへの変更にも注意する必要があります: Puppetをv2からv3の落とし穴にアップグレード

3
Dominic Cleal