RDOでIcehouse版のOpenStack環境の構築ではRHEL6.4以降かCentOS,Scientific Linux 6.4とFedora 20がサポートされているとページに書かれており、All-in-oneでカスタマイズなしの「packstack --allinone」コマンドを実行したインストールは問題なくインストールできるものの、ちょっとでもカスタマイズするとうまくいきませんでした。
一昨日それを調べてみたのですが、このページの情報を参考に、以下の流れでインストールしたところ、上手くいきました。そのうち手順をgithubにあげます。
- 下記の「Step 0-5」を実行
- yum -y install openvswitch
- NetworkManagerサービスの終了と自動実行停止
- networkサービスの開始と自動実行開始
- 再起動
- br-exの作成
eth1(以下の記述以外は全てコメントアウト)
DEVICE="eth1"
HWADDR=xx:xx:xx:xx:xx:xx # MACアドレス
TYPE="OVSPort"
DEVICETYPE="ovs"
OVS_BRIDGE="br-ex"
ONBOOT="yes"
NM_CONTROLLED="no"
br-ex
DEVICE=br-ex
OVSBOOTPROTO=dhcp
OVSDHCPINTERFACES=eth1
NM_CONTROLLED=no
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
- 再起動
- Packstackを実行してOpenStackのインストール
- /etc/neutron/plugin.iniに追記
network_vlan_ranges = physnet1
bridge_mappings = physnet1:br-ex
- 再起動
- Firewalldの設定変更
# firewall-cmd --add-service=http
# firewall-cmd --permanent --add-service=http
# iptables -nvL | grep 80
5 300 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NEW
# firewall-cmd --add-port=6080/tcp
# firewall-cmd --permanent --add-port=6080/tcp
- 「Step 8: ネットワークの追加」以降の手順を実施
はまったところは
If on RHEL7, or Fedora 20/21, please make SELinux permissive for now, with: `sudo setenforce permissive`
- 先にOpenvSwitchのインストール、ブリッジ(br-ex)の作成をやらないとうまく構築できない
- br-exのIPアドレスを固定できない(ので、DHCPで固定した)
- 必要なポートが開かず、手動でfirewall-cmdを使って開けた
- firewalledの使い方(慣れたら簡単)
ここら辺はCentOS 6.5では起きなかった問題ですが、いずれリリースされるであろうCentOS 7では同じ問題にはまりそうなので気をつけないとなと思いました。
systemctlコマンドは意外と分かりやすいコマンドでした。今の自動起動の設定はchkconfig、サービスの起動はserviceコマンドか/etc/init.dの中のスクリプトを直接叩く…よりも統一感があって良いですね。