openstack project update neutron update

Post on 13-Apr-2017

91 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Project UpdateNeutron Update

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

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

OpenStack Days Tokyo 2016

2Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

市原 裕史• 所属

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

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

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

自己紹介

3Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Mitaka New Features&

Newton New Feature Plans

Agenda

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

5Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Availability Zone

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

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ともに通信は維持

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)

ラック

・・・

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ともに通信は維持

10Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS

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 パケット制限

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

13Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

QoS in Newton

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

設定対象

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

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

17Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Get me a Network

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

ユーザ

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

不要

自動的に作成される

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

21Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

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

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

22Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

OpenStack Client

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 へ統一

24Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

OpenStack Client 実行例

従来のコマンド

新しいコマンド

25Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Upgrade

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

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

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

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)

30Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Days Tokyo 2016

Neutron Stadium

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

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

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

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

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 の議論もなかなか進んでいない

その他のトピック

top related