OpenStack Project Update Neutron Update

34
Copyright©2016 NTT corp. All Rights Reserved. OpenStack Project Update Neutron Update 日日日日日日日日日日 NTT 日日日日日日日日日日日日日日日日 日日日日日日日日日日 日日 日日 OpenStack Days Tokyo 2016

Transcript of OpenStack Project Update Neutron Update

Page 1: OpenStack Project Update Neutron Update

Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Project UpdateNeutron Update

日本電信電話株式会社NTT ソフトウェアイノベーションセンタ

第三推進プロジェクト市原 裕史

OpenStack Days Tokyo 2016

Page 2: OpenStack Project Update Neutron Update

2Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

市原 裕史• 所属

• NTT SIC 第三推進プロジェクト• OpenStack Developer

• Neutron Core Reviewer 、その他プロジェクトへの貢献• 技術 : SDN/NFV 中心

• パブリッククラウドの開発• Linuxcon で DPDK スイッチの性能の発表• Neutron への機能提案

自己紹介

Page 3: OpenStack Project Update Neutron Update

3Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Mitaka New Features&

Newton New Feature Plans

Agenda

Page 4: OpenStack Project Update Neutron Update

4Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• 新機能を含む、 44 の変更が加えられた• Availability Zone• QoS

Mitaka New Features

“Neutron Mitaka releasenotes” http://docs.openstack.org/releasenotes/neutron/mitaka.html

Page 5: OpenStack Project Update Neutron Update

5Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone

Page 6: OpenStack Project Update Neutron Update

6Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(SBY)

• L3HA 機能や Multiple DHCP 機能により冗長可能

Switch

Page 7: OpenStack Project Update Neutron Update

7Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(ACT)

• L3HA 機能や Multiple DHCP 機能により冗長可能

Switch

DHCP 、 Routerともに通信は維持

Page 8: OpenStack Project Update Neutron Update

8Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(ACT)

• L3HA 機能や Multiple DHCP 機能により冗長可能

スイッチ

DHCP 、 Routerともに通信は維持

• 複数のネットワークノードにまたがる障害に対応不可

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(SBY)

ラック

・・・

Page 9: OpenStack Project Update Neutron Update

9Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone を利用

DHCP(ACT)

ネットワークノード

Router(ACT)

ラック

・・・ DHCP(ACT)

ネットワークノード

Router(ACT)

ラック

・・・

• 管理者が各ノードの Availability Zone を設定• ノード A は AZ1 、ノード B は AZ2 等

• ユーザはリソース作成時に AZ 候補を指定

AZ1 AZ2

AZ3 AZ4 ・・・

DHCP 、 Routerともに通信は維持

Page 10: OpenStack Project Update Neutron Update

10Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS

Page 11: OpenStack Project Update Neutron Update

11Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS in Mitaka

VM

コンピュートノード

Openvswitch による egress パケット

制限

VM VM

コンピュートノード

• Linuxbridge agent が QoS 機能に対応• ロールベースアクセス制御 (RBAC) に対応

VM 仮想計算機

仮想スイッチ

vSwitch bridge

vSwitch/bridge

設定対象

VMVM

SR-IOV NIC

SR-IOV によるegress パケット制限

Linuxbridge によるegress パケット制限

Page 12: OpenStack Project Update Neutron Update

12Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• QoS ingress rule/DSCP/ 帯域保証• Get me a Network• OpenStack Client への移行• Upgrade• Neutron Stadium

Newton New Feature Plans

Page 13: OpenStack Project Update Neutron Update

13Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS in Newton

Page 14: OpenStack Project Update Neutron Update

14Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS

VM

コンピュートノード

• Egress パケット制限 (Mitaka)• Ingress パケット制限 ( 開発中 )• DSCP 付加 (Newton)

VM

• 帯域保証サポート ( 開発中 )

VM

コンピュートノード

new VM( 未配置 )

• Minimum bandwith scheduling support( 開発中 )• 帯域保証スケジューリング ( 開発中 )

• QoS を実現するための様々な新機能を提供• 帯域制限、帯域保証、 DSCP 付加など

VM 仮想計算機

仮想スイッチ

vSwitch vSwitch

vSwitch

設定対象

Page 15: OpenStack Project Update Neutron Update

15Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS 帯域保証スケジューリング

VM

コンピュートノード B

VM VM

コンピュートノード C

new VM( 未配置 )

vSwitch vSwitch

VM

コンピュートノード A

VM

vSwitch

VM 仮想計算機

仮想スイッチvSwitch

最大 10Gbps, 残り4Gbps

最大 10Gbps, 残り2Gbps

最大 10Gbps, 残り7Gbps

帯域保証値 3Gbps

Page 16: OpenStack Project Update Neutron Update

16Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS 帯域保証スケジューリング

VM

コンピュートノード B

VM VM

コンピュートノード C

new VM

vSwitch vSwitch

VM

コンピュートノード A

VM

vSwitch

VM 仮想計算機

仮想スイッチvSwitch

最大 10Gbps, 残り4Gbps

最大 10Gbps, 残り2Gbps

最大 10Gbps, 残り4Gbps

Page 17: OpenStack Project Update Neutron Update

17Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Get me a Network

Page 18: OpenStack Project Update Neutron Update

18Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• 従来の VM 作成のプロセスにおいてユーザはあらかじめ仮想ネットワークを作成しなければならなかった

Get me a Network なしの従来の手順

Neutron Nova

VMNetwork

VM

VM

VM

Network

(1) テナントネットワークを作成(2) ルータを作成(3) 外部ネットワークとテナント

ネットワークをルータに接続

(4) 作成済みの Network もしくは Port を指定して VM を作

Router

Router

ユーザ

Page 19: OpenStack Project Update Neutron Update

19Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• Neutron が自動でネットワークとルータを作成し設定を行う

Get me a Network を利用

ユーザ

Neutron Nova

VMNetwork

VM

VM

VM

Network

(1) テナントネットワークを作成(2) ルータを作成(3) 外部ネットワークとテナント

ネットワークをルータに接続

(1) VM を作成

Router

Router

不要

自動的に作成される

Page 20: OpenStack Project Update Neutron Update

20Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Get me a Network 実行例$ curl -g -i -X POST http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.32" -H "X-Auth-Token: $TOKEN" -d '{"server": {"name": "net-auto-test", "imageRef": "58baf694-b22a-4c93-b47c-a67c62d19586", "flavorRef": "1", "max_count": 1, "min_count": 1, "networks": [{"uuid": "auto"}]}}'HTTP/1.1 202 AcceptedContent-Length: 436Location: http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984Content-Type: application/jsonOpenstack-Api-Version: compute 2.32X-Openstack-Nova-Api-Version: 2.32Vary: OpenStack-API-VersionVary: X-OpenStack-Nova-API-VersionX-Compute-Request-Id: req-28051989-738d-4293-b125-9b4759c866b8Date: Mon, 04 Jul 2016 06:21:19 GMT

{"server": {"security_groups": [{"name": "default"}], "OS-DCF:diskConfig": "MANUAL", "id": "49a11878-c0dc-4d7e-9c16-cd3080fdb984", "links": [{"href": "http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "self"}, {"href": "http://localhost:8774/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "bookmark"}], "adminPass": "9zvzhqhWCJAB"}}

“Add REST API support for get me a network” https://review.openstack.org/#/c/316398/27

Page 21: OpenStack Project Update Neutron Update

21Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Get me a Network 自動作成された資源

Neutron “auto-allocated-topology” API で同様にネットワーク、サブネット、ルータを作成可能

Page 22: OpenStack Project Update Neutron Update

22Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

OpenStack Client

Page 23: OpenStack Project Update Neutron Update

23Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

OpenStack Client

nova-client

neutron-client

cinder-client

glance-client

keystone-client

heat-client・・

*-client

60以

上の

クラ

イア

ント

が存

openstack-client

OpenStack Client へ統一

Page 24: OpenStack Project Update Neutron Update

24Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

OpenStack Client 実行例

従来のコマンド

新しいコマンド

Page 25: OpenStack Project Update Neutron Update

25Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Upgrade

Page 26: OpenStack Project Update Neutron Update

26Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DB のテーブル追加等、 server は稼働していても良い

従来の Upgrade

NeutronServer(Run)

NeutronServer(Run)

ユーザ API requestsDB

new tableexpand

Page 27: OpenStack Project Update Neutron Update

27Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DB のテーブル追加等、 server は稼働していても良い

2. neutron server stop3. neutron-db-manage upgrade --contract

• DB のテーブル削除等、 server は停止している必要がある

従来の Upgrade

NeutronServer(Stop)

NeutronServer(Stop)

ユーザ API requestsDB

old tablecontract

Page 28: OpenStack Project Update Neutron Update

28Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DB のテーブル追加等、 server は稼働していても良い

2. neutron server stop3. neutron-db-manage upgrade --contract

• DB のテーブル削除等、 server は停止している必要がある

4. neutron server update & start

従来の Upgrade

NeutronServer(Run)

NeutronServer(Run)

ユーザ API requestsDB

Page 29: OpenStack Project Update Neutron Update

29Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• Oslo VersionedObject(OVO) によってリソースのバージョンが厳密に管理される

• 新旧バージョンの Neutron Server が混在可能なため、 rolling upgrade が容易になる

Newton 以降の Upgrade

NeutronServer(Run)

ユーザ API requestsDB

NeutronServer(Run)

Page 30: OpenStack Project Update Neutron Update

30Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Neutron Stadium

Page 31: OpenStack Project Update Neutron Update

31Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Neutron 内部のコアリソースを管理するコアプラグイン、その他のリソースを管理するサービスプラグインをNeutron から外出しする活動が行われていた

Neutron Stadium 歴史的経緯

ML2NEC

VMwareJuniper

AristaBrocade

Cisco…

A10

vArmourHAproxy

AristaBrocade Cisco

コアプラグインサービスプラグイン

Neutron

ロードバランサ

L2 スイッチ

ルータ

VMware NSX でルータとL2 スイッチを提供

HAproxy でロードバランサを提供

Neutron

A10EmbranceHAproxyNetScaler

ロードバランサ

Cisco OpenSwanVPN

iptables vArmourファイアウォール

NECVMware Juniper

AristabrocadeCisco …

AristaCisco

Brocadeルータ

コアプラグイン

ML2 L3Router

ソースコードの半分以上がベンダプラグイ

Page 32: OpenStack Project Update Neutron Update

32Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Mitaka のプロジェクト構成

Core pluginService plugin

bgpvpn

dragonflow

kuryr

ale-omniswitch

arista

bagpipe

cisco

calico

brocade

bigswitch

Neutron Stadium

Neutron

edge-vpn

fujitsu

hyperv

infoblox

midonet

mlnx

nec

nuageodl

ofagent

onos

ovn

ovs-dpdk

plumgrid

powervm

vsphere

vmware-nsx

octavia

client

lbaasvpnaas

fwaas

l2gwdynamic-routing

sfc

pd-driver

lib

Page 33: OpenStack Project Update Neutron Update

33Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

最新のプロジェクト構成

Core pluginService plugin

bgpvpn

dragonflow

kuryr

ale-omniswitch

arista

bagpipe

cisco

calico

brocade

bigswitch

Neutron

edge-vpn

fujitsu

hyperv

infoblox

midonet

mlnx

nec

nuageodl

ofagent

onos

ovn

ovs-dpdk

plumgrid

powervm

vsphere

vmware-nsx

octavia

client

lbaasvpnaas

fwaas

l2gwdynamic-routing

sfc

pd-driver

lib

Neutron Stadium

Page 34: OpenStack Project Update Neutron Update

34Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

• BGP• Neutron 本体から独立して neutron-dynamic-routing プロ

ジェクトとして Neutron Stadium に加えられた• Routed Network

• Neutron 側のコードは順調に取り込まれているが、 Nova 側の動き次第

• VLAN aware VM• Blueprint は承認され、現在は API 部分のパッチのレビュー中

• FWaaS/VPNaaS• 人員不足によりコードの品質を保つことが難しい状態

で、 FWaaS API v2 の議論もなかなか進んでいない

その他のトピック