-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to create a new network on Neutron #77
Comments
/etc/neutron/plugins/ml2/ml2_conf.ini
flat_networks として provider と company のみ許可していたためと思われる。 |
駄目だ、引き続き問題が起きている。
|
Neutronのエラーログ
|
https://docs.openstack.org/newton/install-guide-ubuntu/launch-instance-networks-provider.html によると /etc/neutron/plugins/ml2/linuxbridge_agent.ini で lb-mgmt-net に対応する ethernet を指定していないからか? エラー箇所
Flat network 用ドライバのコメントを見ると、tenant network をサポートしていないと明記
一方、VLAN用ドライバはちゃんと tenant network が実装されている。
Flat network はあくまで外部(Internet)接続用? |
ゲートで使われている Devstack の設定情報
|
そもそも tenant_network_types を指定していなかったのが問題。 以下のように変更してみる。
|
成功した
|
compute ノード側の設定変更も必要。
|
起動したが NIC が有効になっていない模様
cloud-init による外への通信も失敗している。 |
2つのNicを持ったVMを起動し、lb-mgmt-net 上の通信ができるかチェックする。
console-log をみると外への通信で失敗している。
上記 provider ネットワークだけを持つ test3 には Ping が通るが、test2 には通らない。
成功する場合(test3)のログ
|
controller の linuxbridge_agent.ini に VXLAN設定するの忘れていた。
|
vm, subnet, network を削除して、再度試す。
事象は変わらず |
トラブルシューティング
cpu02, 03 の linuxbridge-agent が死んでいる・・・
cpu02, 03でエージェント再起動したところ
直った。
結果、console-log 上は NIC がちゃんと立上がった模様。 |
lb-mgmt-net ネットワーク上の2VMの片方に floating-ip を割当てSSHログインし、lb-mgmt-net 上のPingが通ることを確認する。 2回目も同様の事象発生。 つまり iaas-cpu02 で立上がったVMのみNICが取れている。
失敗。External network: provider が subnet lb-mgmt-subnet から到達可能でないため。 |
Help message がイマイチな件は https://storyboard.openstack.org/#!/story/2005163 として登録した。 |
下記でネットワーク lb-mgmt-router と外部ネットワーク provider の間を Router でつなぎ
再度 Floating IP をつけてみたところ成功
しかし、引き続き NIC が立上がらない問題あり。 |
NICが立上がらない問題を地道に調べる必要あり。
Port ID は a8357da0-7f64-4c25-ae52-124a2dbbfb03 であることを確認
|
気づいたら provider ネットワークに作った VM も外へ通信できなくなってしまった。
失敗
neutron コマンドはちゃんと上記メッセージを出している。
下記で解消。
しかし、VM内から外部への通信はできていない。
|
routing 情報
IPマスカレード?以前も直した気がする。
|
再トライ
iaas-cpu03 にログイン
tap93fdfb70-63 が VM のNICデバイス
|
DHCPの情報が渡らなかったのはController側のため?
tapd7459afe-90 と vxlan-10 がブリッジbrq6a303139-3b で繋がっていることがわかる
この先は dnsmasq の net nsに繋がっている模様。
ns-d7459afe-90 でListenしていることがわかる。 |
ns-d7459afe-90 インターフェースを探す。
id:1 (新しいほう) でインターフェース一覧を確認
ns-d7459afe-90 の index が2、Pair先のindexが7であることがわかる
|
ネットワークの全体像が見えたので、tcpdump で各NICの状態を確認していく。 dnsmasqプロセス つまり Controller ノードの vxlan-10 インターフェースに dhcp パケットが届いていないことになる。 |
Controller ノードの vxlan 設定を見直す。
上記 none だと駄目っぽい
|
上記のように設定変更すると、下記の 735 行目でエラーになる。
チェックロジック
cfg.CONF.VXLAN.l2_population を True にする。
multicast が止まったことを確認した。
|
TODO: 全ノードに上記設定を展開する。 |
まだ駄目っぽい。 |
https://docs.openstack.org/liberty/ja/install-guide-ubuntu/neutron-controller-install-option2.html によると
とl2populationを指定しなければなら無そう。
|
できるようになった。 |
まとめ
Tenant network: lb-mgmt-net が作れない問題
下記のようにTenant network 用として VXLAN を設定することで解決
Controllerノードを含む全ノードのlinuxbridge設定変更
192.168.1.59は VXLAN のカプセル化を行うインターフェースを指定する。
Floating ipがつけられない問題
Tenant network が中から外へのトラフィックを送るための経路が無かったため。
Router で Provider ネットワークにつなぐことで解決
VXLANで構成されたテナントネットワーク上でDHCPが取れない問題
VXLAN設定の問題だった。
下記のように修正することで通るようになった。
The text was updated successfully, but these errors were encountered: