puppet 今試すなら バージョン 0.22.1 を使え、そして gem で入れるな

追記
これに関連した続きエントリ書きました

gem がだめなわけは、puppetrun が入らないから。(0.22.1, 0.22.2 で確認。)puppetrun 使わないなら gem で構わないけど。metadata 覗いたら、executables の中に puppetrun がない。こんな感じ。

executables:
- puppet
- puppetd
- puppetmasterd
- puppetdoc
- puppetca  

とりあえずチケットに入れておいた

あと、最新のバージョン 0.22.2 だと、以下のエラーが出る。

$ sudo puppetd --listen --no-client -v
/usr/lib/ruby/site_ruby/1.8/puppet/util/config.rb:29:in `[]': Undefined configuration parameter 'authconfig' (ArgumentError)
        from /usr/lib/ruby/site_ruby/1.8/puppet.rb:83:in `[]'
        from /usr/bin/puppetd:360

--listen オプション使うときには、/etc/puppet/namespaceauth.conf が必要で、authconfig にはこのパスがセットされるはずなんだけど、セットされていないためのエラーっぽい。これは trunk では直ってる。

もうひとつ、puppetrun 実行時のエラー。

$ sudo puppetrun --host kenny.southpark
Failed to load ruby LDAP library. LDAP functionality will not be available
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/module/introspection.rb:5:in `parent': private method `split' called for :Client:Symbol (NoMethodError)
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:463:in `const_missing'
        from /usr/local/bin/puppetrun:343
        from /usr/local/bin/puppetrun:335:in `fork'
        from /usr/local/bin/puppetrun:335
kenny.southpark finished with exit code 1 

これは puppetrun に以下の一行を追加すれば直る。

require 'puppet/network/client/runner'

trunk でも直ってないようなので、こちらもチケットに入れた fix された。自分の修正内容と違うけど。