OpenStack は様々なコンポーネントがあるため、インストールのための支援ツール(?)devstackなるものがあるようです。
勉強会の資料を見つけたので、これを参考にインストールしていたのですが、./stack 実行時に応答が返ってこなくなりはまりましたのでメモ残しておきます。
普段pythonやpipコマンドを使っている人は大したことないかもしれませんが、上記インストール手順のように新規OSインストールでやるとpipコマンドでpythonのモジュールをインストールする箇所で止まってしまうようです。
具体的には、実行中にstack.shスクリプト内で以下のようなコマンドが発行されているようですが、このコマンド実行中に止まってしまいました。
$ sudo PIP_DOWNLOAD_CACHE=/var/cache/pip HTTP_PROXY= HTTPS_PROXY= NO_PROXY= /usr/bin/pip install --use-mirrors -r python_glanceclient.egg-info/requires.txt
上記コマンドは/opt/stack/python-glanceclient/python_glanceclient.egg-info/requires.txtに記載されているpythonモジュールをインストールしているところですが、実際にこれを手動で実行するとやはり止まりましたので、以下の方法で対策を施しました。
- /var/cache/pip ディレクトリの作成
- PIP_DOWNLOAD_CACHEで指定されているディレクトリ /var/cache/pip がなかったので、rootユーザで作成しました。
- ミラーサーバの登録
- pip に--use-mirrors が指定されていますが、pip の設定にミラーサイトが定義されていないため止まっているようです。なので、openstack ユーザの ~/.pip ディレクトリにpip.confを作ればよいというのがわかったのですが、.pip ディレクトリのオーナーがrootになってしまっていました。おそらく新規OSインストールで、一度もpipコマンドを手動で使ったことがない状況で、stack.sh が sudo でpipコマンドを実行したためだと思われます。よっと、chownで~/.pipディレクトリと、その下にあるpip.logファイルのオーナーをopenstackに変更し、さらに、~/.pip/pip.config を以下のように記述しました。
[install] use-mirrors = true mirrors = http://b.pypi.python.org http://c.pypi.python.org http://d.pypi.python.org http://e.pypi.python.org http://f.pypi.python.org
以上で、stack.sh を実行し直すと、無事インストールが完了しました。 ※ ちなみにscreenコマンドは使わないほうがよいとのこと。
ちなみに、devstackのバージョンは3bd75a8d019290c602daf5f4c313513b3791657dで、使用したlocalrcは以下です。
HOST_IP=192.168.0.100 ADMIN_PASSWORD=openstack MYSQL_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=tokentoken #FLAT_INTERFACE=br100 disable_service n-net disable_service n-obj enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 ENABLE_TENANT_TUNNELS=True FIXED_RANGE=172.24.17.0/24 NETWORK_GATEWAY=172.24.17.254 FLOATING_RANGE=10.0.0.0/24 NOVA_BRANCH=stable/folsom GLANCE_BRANCH=stable/folsom KEYSTONE_BRANCH=stable/folsom HORIZON_BRANCH=stable/folsom CINDER_BRANCH=stable/folsom QUANTUM_BRANCH=stable/folsom
ログインは、admin ユーザで、パスワードはopenstackになります。
OS再起動した場合は、以下のコマンド叩く必要があるようです。
$ sudo ip addr add 10.0.0.1/24 dev br-ex
$ sudo ip link set br-ex up
$ sudo route add -net 172.24.17.0/24 gw 10.0.0.2
$ sudo losetup -f --show /opt/stack/data/stack-volumes-backing-file
起動スクリプト作っておけば便利かもね。