Puppet Server 1.0.2 のリリースノートを読んだ

#puppet

Puppet Server 1.0.2のリリースノートを読んだ。 ちなみにPuppet Server 1.0.1はスキップしてのリリースとなる。

Puppet ServerはSemantic Versioningを採用しているため、PATCHレベルの変更は後方互換性の保たれたバグフィックスが中心となる。

Filebucketのファイルをバイナリデータとして扱う変更

Filebucket files treated as binary dataより。

Filebucketに格納されたファイルをバイナリデータとして扱うことで、不必要な変更が入ることを避けられるようにしたとか。 報告のあったチケットを読む限りだと、リクエストしたデータを勝手にUTF-8に変換してくる!みたいなバグがあったらしい。

puppetserver gem envのバグ修正

puppetserver gem env command now worksより。

puppetserver gem envコマンドは、Rubyのgem env(ironment)と同様にRubyGemsの環境を出力するコマンドである。

どうもPuppet Server 1.0.0にはこのコマンドにバグがあったらしく、特定条件下においてpuppetserver gem envを実行すると例外を投げていたそうだ。 *the entire system environment was being cleared*というのが理由らしいんだけど、clearedってのは、環境変数が何も無いときって感じなんだろうか。 チケットPullRequestを眺めると、PATHGEM_HOMEに修正が入っているみたいなので、この辺の値が何もないと死んでたのかな。

ちなみにうまく動作する場合は、普通のgem envと何ら変わりない動作をする。

[vagrant@localhost ~]$ puppetserver gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.1.9
  - RUBY VERSION: 1.9.3 (2014-09-03 patchlevel 392) [java]
  - INSTALLATION DIRECTORY: /var/lib/puppet/jruby-gems
  - RUBY EXECUTABLE: java -jar /usr/share/puppetserver/puppet-server-release.jar
  - EXECUTABLE DIRECTORY: /var/lib/puppet/jruby-gems/bin
  - SPEC CACHE DIRECTORY: /home/vagrant/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.7
  - GEM PATHS:
     - /var/lib/puppet/jruby-gems
     - /home/vagrant/.gem/jruby/1.9
     - file:/usr/share/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/lib/ruby/gems/shared
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /bin
     - /usr/bin
     - /usr/local/sbin
     - /usr/sbin
     - /sbin
     - /sbin
     - /usr/sbin
     - /home/vagrant/bin

起動時間の延長

Startup time extended for systemdより。

バージョン1.0.0で、Puppet Serverの起動のタイムアウト設定を60秒から120秒に延長したが、systemdの設定が漏れていた。 今回のリリースで、起動スクリプトとsystemdの設定ファイルに同じタイムアウト値を設定した。

それにしても、起動時間長くなってんのかな…JVMだし仕方ないか。

ログレベルの変更に対する改善

Improvementsより。

ランタイム時にログレベルの変更を反映出来るようになったらしい。 以前は、システムの再起動(*a system restart…*とあるけど、多分Puppet Serverを指してる)をしないとLogbackの変更を検知出来なかったようだ。