読者です 読者をやめる 読者になる 読者になる

ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Fedora 20でRDOを使ったOpenStack環境のデプロイ

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のインストール

# packstack --answer-file=/root/answer.txt

  • /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

はまったところは

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の中のスクリプトを直接叩く…よりも統一感があって良いですね。