ハマリポイント
- 古いvagrantを削除する。
- VirtualBoxを新しくし過ぎない。(ちょっと古いやつを使う)
- VirtualBox系でハマったらMacを再起動する。
- ruby2.xではchef-solo動かない。
- chefは公式サイトからcurlで入れる。
- knife-soloはgithubから入れる。
- knife-soloをbundle exec rake installする時ちゃんとruby1.9.3に入るようにする。
古いvagrantのアンインストール
% gem uninstall vagrant
% rm -rf ~/.vagrant.d
vagrantのインストール
http://downloads.vagrantup.com/tags/v1.2.2
debian wheezy64のvm作成
断固debian。
% vagrant box add wheezy64 http://dl.dropbox.com/u/937870/VMs/wheezy64.box
% mkdir wheezy64
% cd wheezy64
% vagrant init wheezy64
% vagrant up
下記でいい感じの設定を履いてくれる。(便利)
% vagrant ssh-config --host wheezy64 >> ~/.ssh/config
% ssh wheezy64
で入れるようになってる。
chef-soloのインストール
% curl -L https://www.opscode.com/chef/install.sh | sudo bash
% chef-solo -v
Chef: 11.4.4
ちゃんと動くか確認。
knife-soloのインストール
gem版は0.2.0だったのでgithubから入れる。
% git clone git@github.com:matschaffer/knife-solo.git
% cd knife-solo
% git submodule init
% git submodule update
% bundle
% bundle exec rake install
rubyが2.xだと動かないので注意!
chef-soloをwheezy64にインストール
% knife solo prepare wheezy64
これで入るChefが0.10.8なのが気になる・・・。
自分のcookbookのリポジトリ作成
% knife solo init chef-cookbook
% cd chef-cookbook
% git init .
% git commit -m'First commit'
% hub create
nginxをインストールするrecipeを書く
% knife cookbook create nginx -o site-cookbooks
% vi site-cookbooks/nginx/recipes/default.rb
package 'nginx' do
action :install
end
% vi nodes/wheezy64.json
{
"run_list":[
"nginx"
]
}
実行。
% knife solo cook wheezy64
Running Chef on wheezy64...
Checking Chef version...
Uploading the kitchen...
Generating solo config...
Running Chef...
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: *** Chef 0.10.8 ***
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Setting the run_list to ["nginx"] from JSON
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Run List is [recipe[nginx]]
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Run List expands to [nginx]
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Starting Chef Run for vagrant-debian-wheezy-64.vagrantup.com
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Running start handlers
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Start handlers complete.
[Wed, 26 Jun 2013 08:35:26 +0200] FATAL: No cookbook found in ["/home/vagrant/chef-solo/cookbooks-1", "/home/vagrant/chef-solo/cookbooks-2", "/home/vagrant/chef-solo/cookbooks-3"], make sure cookbook_path is set correctly.
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Processing package[nginx] action install (nginx::default line 9)
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Chef Run complete in 0.267082 seconds
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Running report handlers
[Wed, 26 Jun 2013 08:35:26 +0200] INFO: Report handlers complete
一応入ったけどFATALがきになる・・・。