OpenStack MitakaをAll-In-Oneを以下のサイトを見ながら構築。

CentOS 7.2で稼働するOpenStack Mitaka

ただし、NICは1つで構築するところは、相違。


このページ(OpenStackの自動構築)
ifcfg-br-ex作成後、再起動するとネットワークが繋がらなくなった。


・2回目の再起動から発生する
・仮想VM上のCentOSでも起こる
・物理上のCentOSでも起こる
・IPは設定されている


こんな感じ

左側のコンソール画面で
IPは設定されてる。
でもCentOS側からgoogleDNS(8.8.8.8)にPingを打ってもエラーとなる。
右側でリモートPCからCentOS側へPingを打っても
もちろん返答なし。
opstk01



systemctl restart network
でネットワークを再起動するとつながるようになる。
opstk02


何時間か試したり、調べたりしたけど
解決できなかった。

ちなみに
network.serviceの起動順番を変えてどうにかなるかためすために
/usr/lib/systemd/system配下にある
openvswitch.serviceとか
openvswitch-nonetwork.serviceとかを
いじったらOSが上がらなくなった。
たぶん無限ループに入った。

めんどくせぇ


ちょっとopenstackを触ってみたいだけなのに
こんなところに時間使ってられないので、
ネットワーク再起動で行けるならってことで
無理やりな応急処置

以下のシェルを作成。
・8.8.8.8にpingして失敗するようならネットワーク再起動
・rabbitmq-serverも時々起動失敗しているので、それなったら再起動
・neutron-serverも時々起動失敗しているので、それなったら再起動
=======
#!/bin/bash
if [[ -z $(/usr/bin/ping -c 3 8.8.8.8 | grep "bytes from ") ]]; then
  /usr/bin/systemctl restart network.service
  echo "restart network" > /root/RestartNetwork.log
fi
/usr/bin/sleep 60
if [[ -z $(/usr/bin/systemctl status rabbitmq-server | grep "running") ]]; then
  /usr/bin/systemctl start rabbitmq-server
  echo "start rabbitmq-server" >> /root/RestartNetwork.log
fi
if [[ -z $(/usr/bin/systemctl status neutron-server | grep "running") ]]; then
  /usr/bin/systemctl start neutron-server
  echo "start neutron-server" >> /root/RestartNetwork.log
fi
exit 0
=======

crontabを開いて

# crontab -e


以下のように記載し、起動時に実行されるようにする

@reboot (/root/RestartNetwork.sh)


今のところこれで問題が出ていないので
とりあえず先へ進む