OpenStack クラウドインテグレーション 日本 OpenStack ユーザ会著 翔泳社
の2章のインストール手順を、プロキシの中からやると、失敗します。以下に対策を書きます。
2.4 DevStack による環境構築
についての記述ですが、RDO にも使えるものがあると思います。
仮想マシンゲスト stack01 などと、ホストの両方で必要な設定
問題1 プロキシが必要。
対策 http_proxy などの環境変数や、 .gitconfig を設定する。
stack01 をインストールする時
問題2 virt-install はプロキシを越えられない。
--cdrom で、インストールDVDを与えると、initrd-inject ができない。つまり、preseed, kickstart などの無人インストールができない。
対策 インストールDVDを、ローカルマシンで http 公開する。61ページを参照。
問題3 それでも、インストールの途中で、Bad proxy といって失敗する。
対策 ubuntu-virtinst/stack01/preseed.cfg に、こういう行があるので、
d-i mirror/http/proxy string
この string の後に書く。すると、インストール中にアップデートも拾ってくる。
stack01 で devstack を動かすとき
問題4 git clone git:// が失敗する。
対策 corkscrew を使う。
問題5 sudo wget が失敗する。
対策 sudo の設定によっては、http_proxy が引き継がれないことがある。.wgetrc などに書く。
おまけ
問題6 github.com にアクセスできない。
対策 できる環境で落として、ファイルとして、あるいはローカル http で参照する。
noVNC の場合、NOVNC_FROM_PACKAGE=True を、local.conf に入れても良い。
Centos 6 イメージの準備はしんどい
問題7 2.4.7節の quick-devstack/build-image/build_image.sh と、2.5節 仮想マシンイメージの作成は、プロキシを超えられなくてはまるところがたくさんある。
対策 とりあえず、nova boot を動かしたいならば、devstack でデフォルトで入る、cirros イメージを使うとよい。
5.4.4節 踏み台サーバーの起動 で、nova boot の引数、--image を、cirros のものに変えて、 --user-data 引数を除く。
具体的には、スクリプト chapter05-10/05/build_chap05.sh の nova boot のところを変える。前後は、そのまま使える。と、思うよ。
floating ip を与えた後、ssh ログインできる。アカウントとパスワードは、ブートした時のコンソールログに出る。
devstack をインストールしなおすとき
local.conf 先頭の、OFFLINE=True のコメントを外せば、インターネットからのダウンロードはしないで、あるものを使う。
インストールが終わったら
http_proxy などの環境変数は、stack01,2,3 ホスト、すべてで無効にしておく方が、面倒がない。つながらないと思ったら、プロキシとお話しして叱られていることがある。あるいは no_proxy をちゃんと書くか。
その他
stack01/post-stack.sh に
neutron net-create Ext-Net --router:external=True
とあるけど、=True は余分。
stack02, 03 で stack.sh をたたくときは、stack01 で nova が動いていないと失敗する。
本に書いてあるディストリビューションのそのバージョンでやること。つなわたりみたいなものだから、少しでも違うと、はまる。と思うよ。
RDO は、はまった後、やり直すと、既にありますエラーになるので、設定がどこに記憶されているのかわからない私のような初心者は、devstack がいいと思います。
# virsh undefine stack01 くらいは、わかるかな。
デバッグ
ログは、/opt/stack/logs に出る。cli は、--debug をつけると、送受信される http 電文を表示する。rejoin のとき、デーモンは、stack-screenrc から上がる。screen 画面で、C-a ' n-api とすると、nova api のログが見える。C-a d は、切り離し。
レッドハットのディストリビューションだと、systemtap で、 python 関数トレースが簡単に取れる。
https://sourceware.org/systemtap/wiki/PythonMarkers
参考
https://github.com/josug-book1-materials/ 本で使うスクリプトや設定ファイルがあります。
http://www.shoeisha.co.jp/book/detail/9784798139784 翔泳社 正誤表の登録は、2015年3月時点で無いです。
http://docs.openstack.org/developer/devstack 本家
http://u-kipedia.hateblo.jp/entry/2014/12/15/205047 Devstackはどんなことをしているのか
Enjoy!