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)
どんな助けでも大歓迎です。私はここですべてのアイデアがありません。
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の落とし穴にアップグレード 。