このエントリーをはてなブックマークに追加

erchefをmakeしてみた(そして動かなかった)記録

chefのサーバーがちょっと前にerlangになって公開されました。

というわけで、ubuntuでerchefを動かしてみるまでの記録。

erlangのinstall

ubuntuのerlangは古いので自分でmakeします。

% sudo apt-get install make gcc libncurses5-dev libssl-dev \
  libssl1.0.0 openssl libstdc++6 libstdc++6-4.6-dev
% curl -O http://www.erlang.org/download/otp_src_R15B02.tar.gz
% gzip -dc otp_src_R15B02.tar.gz | tar xvf -
% cd otp_src_R15B02
% ./configure --prefix=/usr/local/ && make
% sudo make install

次にrebarを作ります。

% git clone git://github.com/basho/rebar.git
% cd rebar
% ./bootstrap
% sudo cp -p rebar /usr/local/bin/

これで準備OK。

erchefのmake

% git clone git://github.com/opscode/erchef.git
% make rel

これでOKでした。簡単。

なお、最初FreeBSDで動かそうとしていたのですが、依存しているパッケージを取得する途中で止まってしまったので、ubuntuでやっています。

起動

% cd erchef
% bin/erchef start

とやれば立ち上がります。

とREADMEには書いてあるんですけどねぇ.

app.configを作成

erchefを起動するにはapp.configという設定ファイルが必要なのですが、付属していません。そのため、別のところから取得します。

% sudo apt-get install ruby-bundler rake
% git clone git://github.com/opscode/omnibus-chef.git
% cd omnibus-chef
% bundle install
% mv omnibus.rb.example omnibus.rb
% sudo CHEF_GIT_REV=10.14.4 rake projects:chef-server

これでrecipeができあがるのでそれの一部分だけを切り出したり、attribute.rbを修正したりして、いろいろやってできあがった app.configがこれです。

しかし、これをetc以下において実行してもやっぱりエラーが…

=====
===== LOGGING STARTED Fri Oct 12 13:53:10 UTC 2012
=====
Exec: /home/ubuntu/erchef/rel/erchef/erts-5.9.2/bin/erlexec -boot
/home/ubuntu/erchef/rel/erchef/releases/1.0.0/erchef -embedded -config
/home/ubuntu/erchef/rel/erchef/etc/app.config -args_file
/home/ubuntu/erchef/rel/erchef/etc/vm.args -- console
Root: /home/ubuntu/erchef/rel/erchef
Erlang R15B02 (erts-5.9.2) [source] [64-bit] [async-threads:5]
[kernel-poll:true]

** Found 0 name clashes in code paths

=INFO REPORT==== 12-Oct-2012::13:53:11 ===
    application: fast_log
    exited: {shutdown,{fast_log_app,start,[normal,[]]}}
    type: permanent
{"Kernel pid
terminated",application_controller,"{application_start_failure,fast_log,{shutdown,{fast_log_app,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,fast_log,{shutdown,{fast_log_app,start,[normal,[]]}}})

うーん。さすがにcrash dumpを読むところまではちょっと…。ということでここまで。

続きは次回