LoginSignup
29
28

More than 5 years have passed since last update.

CentOS7にOpenStack(JUNO)をインストールする

Last updated at Posted at 2014-11-22

本記事は、OpenStack Advent Calendar 2014のつもりが、早出ししてしまったので
実はそのままという手抜きです(ごめんなさい


先日OpenStackのJリリース、JUNOがリリースされました。
CentOS7に、RDO(JUNO)をインストールします

OSの準備

今回は、NICが2つ付いたマシンで行いました。
ただし、そのNICは同一のネットワークにつながっていて、特にvlanとかも設定していません。

CentOS7を最小構成でインストールしておきます

インストール前準備

今回もRDO(packstack)を使ってインストールします

yum install -y https://rdo.fedorapeople.org/rdo-release.rpm
yum install -y openstack-packstack

packstackのオールインワンオプションは使わずにインストールします
junoになって試していませんが、オールインワンだとVM用のネットワークが外に出れません

まず、定義ファイルと生成し、編集します

packstack --gen-answer=juno

インストールしたい・したくないパッケージを適当に選択します
ntpサーバの設定も忘れずに。

#55行目付近
CONFIG_NTP_SERVERS=192.168.1.1

また、今回はシングルオールインワンの構成ですが、テナントと外部ネットとneutronの間での設定のため、インストール時にml2ドライバを指定しておきます
デフォルトのままだと、vxlanしか指定されていないので、ここにflatを追加します

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat

cinder-volumesのバックエンドにlvmを指定している場合
'cinder-volumes'という名前のLVM領域(VG)が必要です

インストール

packstackを使ってOpenStackをインストールします

packstack --answer-file=juno

しばし待つ

エラーも出ずに終われば完了

**** Installation completed successfully ******

注意1:ntpがインストールされているとエラーになるので、入れている人は抜きましょう
注意2:mondogbあたりのエラーが取れなかったらceilometerのインストールをオフにすると解決(昨日減るけど)

そして、問題のNetworkManager

 * Warning: NetworkManager is active on 192.168.111.192. OpenStack networking currently does not work on systems that have the Network Manager service enabled.

ご丁寧にも警告出してくれちゃっいます。

今回はこの警告は放置したまま、NetworkManager全開で参ります

インストール後の設定

ネットワークブリッジの設定をします

neutronの外部ネットとの接続IF:br-exを物理デバイスにマッピングします

TYPE=Ethernet
NAME=enp3s5 #適当
ONBOOT=yes
NM_CONTROLLED=yes
TYPE=OVSPort
OVS_BRIDGE=br-ex

仮想ブリッジbr-exは以下のような設定

DEVICE=br-ex
STP=no
NAME=br-ex
BOOTPROTO=none
IPADDR0=xxx.xxx.xxx.xxx
PREFIX0=24
NM_CONTROLLED=yes
IPV6INIT=no
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSBridge

次に、openvswitchの起動が、NetworkManagerの後になるように、openvswitchのsystemdファイルを修正します

/usr/lib/systemd/system/openvswitch.service
[Unit]
Description=Open vSwitch
After=syslog.target network.target openvswitch-nonetwork.service NetworkManager.service
Requires=openvswitch-nonetwork.service

[Service]
Type=oneshot
ExecStart=/bin/true
ExecStop=/bin/true
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Afterの指定の最後に[NetworkManager.service]を追記します

再起動します

再起動後、ネットワークの状態を確認します

#ovs-vsctr show

Bridge br-ex
    Port br-ex
        Interface br-ex
            type: internal

br-exブリッジに、物理デバイスが追加されていなければ、物理デバイスを追加します

ovs-vsctr add-port br-ex <物理デバイス名>

再度、確認します

#ovs-vsctr show

Bridge br-ex
    Port br-ex
        Interface br-ex
            type: internal
    Port "<物理名>"
        Interface "物理名"

次に、neutron側で外部ネットワークを定義します

作り方は割愛します。
定義上はこのような形になります

[root@mx130 ~(keystone_admin)]# neutron net-show 36a2cb93-2178-4b2d-9fb0-4460fc212135
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 36a2cb93-2178-4b2d-9fb0-4460fc212135 |
| name                      | external                             |
| provider:network_type     | flat                                 |
| provider:physical_network | br-ex                                |
| provider:segmentation_id  |                                      |
| router:external           | True                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   | b3221700-f5d9-4069-9fd8-c5d1774c6bf7 |
| tenant_id                 | 7b2c0e9435804cf896cde2ae5dacc59e     |
+---------------------------+--------------------------------------+

次にテナントネットワーク、およびルータを作成します。
こちらは特別変わったことはないので、従来通りに作れば問題ありません。

あとは、VM作ってFIP付けてログインできれば問題なし

systemdになって、起動順序によってopenvswitchがそのままだとうまく動作しない問題が解決できれば、
あとは従来通り特に問題はないですね

Enjoy your openstack life!

29
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28